Permalink
Cannot retrieve contributors at this time
Find file
Copy path
machine-learning/2-linear-classification-and-knn/deliver/EFC2 - Linear classification and KNN.html
Find file
Copy path
Fetching contributors…
| <!DOCTYPE html> | |
| <html> | |
| <head><meta charset="utf-8" /> | |
| <title>EFC2 - Linear classification and KNN</title> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> | |
| <style type="text/css"> | |
| /*! | |
| * | |
| * Twitter Bootstrap | |
| * | |
| */ | |
| /*! | |
| * Bootstrap v3.3.7 (http://getbootstrap.com) | |
| * Copyright 2011-2016 Twitter, Inc. | |
| * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | |
| */ | |
| /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ | |
| html { | |
| font-family: sans-serif; | |
| -ms-text-size-adjust: 100%; | |
| -webkit-text-size-adjust: 100%; | |
| } | |
| body { | |
| margin: 0; | |
| } | |
| article, | |
| aside, | |
| details, | |
| figcaption, | |
| figure, | |
| footer, | |
| header, | |
| hgroup, | |
| main, | |
| menu, | |
| nav, | |
| section, | |
| summary { | |
| display: block; | |
| } | |
| audio, | |
| canvas, | |
| progress, | |
| video { | |
| display: inline-block; | |
| vertical-align: baseline; | |
| } | |
| audio:not([controls]) { | |
| display: none; | |
| height: 0; | |
| } | |
| [hidden], | |
| template { | |
| display: none; | |
| } | |
| a { | |
| background-color: transparent; | |
| } | |
| a:active, | |
| a:hover { | |
| outline: 0; | |
| } | |
| abbr[title] { | |
| border-bottom: 1px dotted; | |
| } | |
| b, | |
| strong { | |
| font-weight: bold; | |
| } | |
| dfn { | |
| font-style: italic; | |
| } | |
| h1 { | |
| font-size: 2em; | |
| margin: 0.67em 0; | |
| } | |
| mark { | |
| background: #ff0; | |
| color: #000; | |
| } | |
| small { | |
| font-size: 80%; | |
| } | |
| sub, | |
| sup { | |
| font-size: 75%; | |
| line-height: 0; | |
| position: relative; | |
| vertical-align: baseline; | |
| } | |
| sup { | |
| top: -0.5em; | |
| } | |
| sub { | |
| bottom: -0.25em; | |
| } | |
| img { | |
| border: 0; | |
| } | |
| svg:not(:root) { | |
| overflow: hidden; | |
| } | |
| figure { | |
| margin: 1em 40px; | |
| } | |
| hr { | |
| box-sizing: content-box; | |
| height: 0; | |
| } | |
| pre { | |
| overflow: auto; | |
| } | |
| code, | |
| kbd, | |
| pre, | |
| samp { | |
| font-family: monospace, monospace; | |
| font-size: 1em; | |
| } | |
| button, | |
| input, | |
| optgroup, | |
| select, | |
| textarea { | |
| color: inherit; | |
| font: inherit; | |
| margin: 0; | |
| } | |
| button { | |
| overflow: visible; | |
| } | |
| button, | |
| select { | |
| text-transform: none; | |
| } | |
| button, | |
| html input[type="button"], | |
| input[type="reset"], | |
| input[type="submit"] { | |
| -webkit-appearance: button; | |
| cursor: pointer; | |
| } | |
| button[disabled], | |
| html input[disabled] { | |
| cursor: default; | |
| } | |
| button::-moz-focus-inner, | |
| input::-moz-focus-inner { | |
| border: 0; | |
| padding: 0; | |
| } | |
| input { | |
| line-height: normal; | |
| } | |
| input[type="checkbox"], | |
| input[type="radio"] { | |
| box-sizing: border-box; | |
| padding: 0; | |
| } | |
| input[type="number"]::-webkit-inner-spin-button, | |
| input[type="number"]::-webkit-outer-spin-button { | |
| height: auto; | |
| } | |
| input[type="search"] { | |
| -webkit-appearance: textfield; | |
| box-sizing: content-box; | |
| } | |
| input[type="search"]::-webkit-search-cancel-button, | |
| input[type="search"]::-webkit-search-decoration { | |
| -webkit-appearance: none; | |
| } | |
| fieldset { | |
| border: 1px solid #c0c0c0; | |
| margin: 0 2px; | |
| padding: 0.35em 0.625em 0.75em; | |
| } | |
| legend { | |
| border: 0; | |
| padding: 0; | |
| } | |
| textarea { | |
| overflow: auto; | |
| } | |
| optgroup { | |
| font-weight: bold; | |
| } | |
| table { | |
| border-collapse: collapse; | |
| border-spacing: 0; | |
| } | |
| td, | |
| th { | |
| padding: 0; | |
| } | |
| /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ | |
| @media print { | |
| *, | |
| *:before, | |
| *:after { | |
| background: transparent !important; | |
| box-shadow: none !important; | |
| text-shadow: none !important; | |
| } | |
| a, | |
| a:visited { | |
| text-decoration: underline; | |
| } | |
| a[href]:after { | |
| content: " (" attr(href) ")"; | |
| } | |
| abbr[title]:after { | |
| content: " (" attr(title) ")"; | |
| } | |
| a[href^="#"]:after, | |
| a[href^="javascript:"]:after { | |
| content: ""; | |
| } | |
| pre, | |
| blockquote { | |
| border: 1px solid #999; | |
| page-break-inside: avoid; | |
| } | |
| thead { | |
| display: table-header-group; | |
| } | |
| tr, | |
| img { | |
| page-break-inside: avoid; | |
| } | |
| img { | |
| max-width: 100% !important; | |
| } | |
| p, | |
| h2, | |
| h3 { | |
| orphans: 3; | |
| widows: 3; | |
| } | |
| h2, | |
| h3 { | |
| page-break-after: avoid; | |
| } | |
| .navbar { | |
| display: none; | |
| } | |
| .btn > .caret, | |
| .dropup > .btn > .caret { | |
| border-top-color: #000 !important; | |
| } | |
| .label { | |
| border: 1px solid #000; | |
| } | |
| .table { | |
| border-collapse: collapse !important; | |
| } | |
| .table td, | |
| .table th { | |
| background-color: #fff !important; | |
| } | |
| .table-bordered th, | |
| .table-bordered td { | |
| border: 1px solid #ddd !important; | |
| } | |
| } | |
| @font-face { | |
| font-family: 'Glyphicons Halflings'; | |
| src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot'); | |
| src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); | |
| } | |
| .glyphicon { | |
| position: relative; | |
| top: 1px; | |
| display: inline-block; | |
| font-family: 'Glyphicons Halflings'; | |
| font-style: normal; | |
| font-weight: normal; | |
| line-height: 1; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| } | |
| .glyphicon-asterisk:before { | |
| content: "\002a"; | |
| } | |
| .glyphicon-plus:before { | |
| content: "\002b"; | |
| } | |
| .glyphicon-euro:before, | |
| .glyphicon-eur:before { | |
| content: "\20ac"; | |
| } | |
| .glyphicon-minus:before { | |
| content: "\2212"; | |
| } | |
| .glyphicon-cloud:before { | |
| content: "\2601"; | |
| } | |
| .glyphicon-envelope:before { | |
| content: "\2709"; | |
| } | |
| .glyphicon-pencil:before { | |
| content: "\270f"; | |
| } | |
| .glyphicon-glass:before { | |
| content: "\e001"; | |
| } | |
| .glyphicon-music:before { | |
| content: "\e002"; | |
| } | |
| .glyphicon-search:before { | |
| content: "\e003"; | |
| } | |
| .glyphicon-heart:before { | |
| content: "\e005"; | |
| } | |
| .glyphicon-star:before { | |
| content: "\e006"; | |
| } | |
| .glyphicon-star-empty:before { | |
| content: "\e007"; | |
| } | |
| .glyphicon-user:before { | |
| content: "\e008"; | |
| } | |
| .glyphicon-film:before { | |
| content: "\e009"; | |
| } | |
| .glyphicon-th-large:before { | |
| content: "\e010"; | |
| } | |
| .glyphicon-th:before { | |
| content: "\e011"; | |
| } | |
| .glyphicon-th-list:before { | |
| content: "\e012"; | |
| } | |
| .glyphicon-ok:before { | |
| content: "\e013"; | |
| } | |
| .glyphicon-remove:before { | |
| content: "\e014"; | |
| } | |
| .glyphicon-zoom-in:before { | |
| content: "\e015"; | |
| } | |
| .glyphicon-zoom-out:before { | |
| content: "\e016"; | |
| } | |
| .glyphicon-off:before { | |
| content: "\e017"; | |
| } | |
| .glyphicon-signal:before { | |
| content: "\e018"; | |
| } | |
| .glyphicon-cog:before { | |
| content: "\e019"; | |
| } | |
| .glyphicon-trash:before { | |
| content: "\e020"; | |
| } | |
| .glyphicon-home:before { | |
| content: "\e021"; | |
| } | |
| .glyphicon-file:before { | |
| content: "\e022"; | |
| } | |
| .glyphicon-time:before { | |
| content: "\e023"; | |
| } | |
| .glyphicon-road:before { | |
| content: "\e024"; | |
| } | |
| .glyphicon-download-alt:before { | |
| content: "\e025"; | |
| } | |
| .glyphicon-download:before { | |
| content: "\e026"; | |
| } | |
| .glyphicon-upload:before { | |
| content: "\e027"; | |
| } | |
| .glyphicon-inbox:before { | |
| content: "\e028"; | |
| } | |
| .glyphicon-play-circle:before { | |
| content: "\e029"; | |
| } | |
| .glyphicon-repeat:before { | |
| content: "\e030"; | |
| } | |
| .glyphicon-refresh:before { | |
| content: "\e031"; | |
| } | |
| .glyphicon-list-alt:before { | |
| content: "\e032"; | |
| } | |
| .glyphicon-lock:before { | |
| content: "\e033"; | |
| } | |
| .glyphicon-flag:before { | |
| content: "\e034"; | |
| } | |
| .glyphicon-headphones:before { | |
| content: "\e035"; | |
| } | |
| .glyphicon-volume-off:before { | |
| content: "\e036"; | |
| } | |
| .glyphicon-volume-down:before { | |
| content: "\e037"; | |
| } | |
| .glyphicon-volume-up:before { | |
| content: "\e038"; | |
| } | |
| .glyphicon-qrcode:before { | |
| content: "\e039"; | |
| } | |
| .glyphicon-barcode:before { | |
| content: "\e040"; | |
| } | |
| .glyphicon-tag:before { | |
| content: "\e041"; | |
| } | |
| .glyphicon-tags:before { | |
| content: "\e042"; | |
| } | |
| .glyphicon-book:before { | |
| content: "\e043"; | |
| } | |
| .glyphicon-bookmark:before { | |
| content: "\e044"; | |
| } | |
| .glyphicon-print:before { | |
| content: "\e045"; | |
| } | |
| .glyphicon-camera:before { | |
| content: "\e046"; | |
| } | |
| .glyphicon-font:before { | |
| content: "\e047"; | |
| } | |
| .glyphicon-bold:before { | |
| content: "\e048"; | |
| } | |
| .glyphicon-italic:before { | |
| content: "\e049"; | |
| } | |
| .glyphicon-text-height:before { | |
| content: "\e050"; | |
| } | |
| .glyphicon-text-width:before { | |
| content: "\e051"; | |
| } | |
| .glyphicon-align-left:before { | |
| content: "\e052"; | |
| } | |
| .glyphicon-align-center:before { | |
| content: "\e053"; | |
| } | |
| .glyphicon-align-right:before { | |
| content: "\e054"; | |
| } | |
| .glyphicon-align-justify:before { | |
| content: "\e055"; | |
| } | |
| .glyphicon-list:before { | |
| content: "\e056"; | |
| } | |
| .glyphicon-indent-left:before { | |
| content: "\e057"; | |
| } | |
| .glyphicon-indent-right:before { | |
| content: "\e058"; | |
| } | |
| .glyphicon-facetime-video:before { | |
| content: "\e059"; | |
| } | |
| .glyphicon-picture:before { | |
| content: "\e060"; | |
| } | |
| .glyphicon-map-marker:before { | |
| content: "\e062"; | |
| } | |
| .glyphicon-adjust:before { | |
| content: "\e063"; | |
| } | |
| .glyphicon-tint:before { | |
| content: "\e064"; | |
| } | |
| .glyphicon-edit:before { | |
| content: "\e065"; | |
| } | |
| .glyphicon-share:before { | |
| content: "\e066"; | |
| } | |
| .glyphicon-check:before { | |
| content: "\e067"; | |
| } | |
| .glyphicon-move:before { | |
| content: "\e068"; | |
| } | |
| .glyphicon-step-backward:before { | |
| content: "\e069"; | |
| } | |
| .glyphicon-fast-backward:before { | |
| content: "\e070"; | |
| } | |
| .glyphicon-backward:before { | |
| content: "\e071"; | |
| } | |
| .glyphicon-play:before { | |
| content: "\e072"; | |
| } | |
| .glyphicon-pause:before { | |
| content: "\e073"; | |
| } | |
| .glyphicon-stop:before { | |
| content: "\e074"; | |
| } | |
| .glyphicon-forward:before { | |
| content: "\e075"; | |
| } | |
| .glyphicon-fast-forward:before { | |
| content: "\e076"; | |
| } | |
| .glyphicon-step-forward:before { | |
| content: "\e077"; | |
| } | |
| .glyphicon-eject:before { | |
| content: "\e078"; | |
| } | |
| .glyphicon-chevron-left:before { | |
| content: "\e079"; | |
| } | |
| .glyphicon-chevron-right:before { | |
| content: "\e080"; | |
| } | |
| .glyphicon-plus-sign:before { | |
| content: "\e081"; | |
| } | |
| .glyphicon-minus-sign:before { | |
| content: "\e082"; | |
| } | |
| .glyphicon-remove-sign:before { | |
| content: "\e083"; | |
| } | |
| .glyphicon-ok-sign:before { | |
| content: "\e084"; | |
| } | |
| .glyphicon-question-sign:before { | |
| content: "\e085"; | |
| } | |
| .glyphicon-info-sign:before { | |
| content: "\e086"; | |
| } | |
| .glyphicon-screenshot:before { | |
| content: "\e087"; | |
| } | |
| .glyphicon-remove-circle:before { | |
| content: "\e088"; | |
| } | |
| .glyphicon-ok-circle:before { | |
| content: "\e089"; | |
| } | |
| .glyphicon-ban-circle:before { | |
| content: "\e090"; | |
| } | |
| .glyphicon-arrow-left:before { | |
| content: "\e091"; | |
| } | |
| .glyphicon-arrow-right:before { | |
| content: "\e092"; | |
| } | |
| .glyphicon-arrow-up:before { | |
| content: "\e093"; | |
| } | |
| .glyphicon-arrow-down:before { | |
| content: "\e094"; | |
| } | |
| .glyphicon-share-alt:before { | |
| content: "\e095"; | |
| } | |
| .glyphicon-resize-full:before { | |
| content: "\e096"; | |
| } | |
| .glyphicon-resize-small:before { | |
| content: "\e097"; | |
| } | |
| .glyphicon-exclamation-sign:before { | |
| content: "\e101"; | |
| } | |
| .glyphicon-gift:before { | |
| content: "\e102"; | |
| } | |
| .glyphicon-leaf:before { | |
| content: "\e103"; | |
| } | |
| .glyphicon-fire:before { | |
| content: "\e104"; | |
| } | |
| .glyphicon-eye-open:before { | |
| content: "\e105"; | |
| } | |
| .glyphicon-eye-close:before { | |
| content: "\e106"; | |
| } | |
| .glyphicon-warning-sign:before { | |
| content: "\e107"; | |
| } | |
| .glyphicon-plane:before { | |
| content: "\e108"; | |
| } | |
| .glyphicon-calendar:before { | |
| content: "\e109"; | |
| } | |
| .glyphicon-random:before { | |
| content: "\e110"; | |
| } | |
| .glyphicon-comment:before { | |
| content: "\e111"; | |
| } | |
| .glyphicon-magnet:before { | |
| content: "\e112"; | |
| } | |
| .glyphicon-chevron-up:before { | |
| content: "\e113"; | |
| } | |
| .glyphicon-chevron-down:before { | |
| content: "\e114"; | |
| } | |
| .glyphicon-retweet:before { | |
| content: "\e115"; | |
| } | |
| .glyphicon-shopping-cart:before { | |
| content: "\e116"; | |
| } | |
| .glyphicon-folder-close:before { | |
| content: "\e117"; | |
| } | |
| .glyphicon-folder-open:before { | |
| content: "\e118"; | |
| } | |
| .glyphicon-resize-vertical:before { | |
| content: "\e119"; | |
| } | |
| .glyphicon-resize-horizontal:before { | |
| content: "\e120"; | |
| } | |
| .glyphicon-hdd:before { | |
| content: "\e121"; | |
| } | |
| .glyphicon-bullhorn:before { | |
| content: "\e122"; | |
| } | |
| .glyphicon-bell:before { | |
| content: "\e123"; | |
| } | |
| .glyphicon-certificate:before { | |
| content: "\e124"; | |
| } | |
| .glyphicon-thumbs-up:before { | |
| content: "\e125"; | |
| } | |
| .glyphicon-thumbs-down:before { | |
| content: "\e126"; | |
| } | |
| .glyphicon-hand-right:before { | |
| content: "\e127"; | |
| } | |
| .glyphicon-hand-left:before { | |
| content: "\e128"; | |
| } | |
| .glyphicon-hand-up:before { | |
| content: "\e129"; | |
| } | |
| .glyphicon-hand-down:before { | |
| content: "\e130"; | |
| } | |
| .glyphicon-circle-arrow-right:before { | |
| content: "\e131"; | |
| } | |
| .glyphicon-circle-arrow-left:before { | |
| content: "\e132"; | |
| } | |
| .glyphicon-circle-arrow-up:before { | |
| content: "\e133"; | |
| } | |
| .glyphicon-circle-arrow-down:before { | |
| content: "\e134"; | |
| } | |
| .glyphicon-globe:before { | |
| content: "\e135"; | |
| } | |
| .glyphicon-wrench:before { | |
| content: "\e136"; | |
| } | |
| .glyphicon-tasks:before { | |
| content: "\e137"; | |
| } | |
| .glyphicon-filter:before { | |
| content: "\e138"; | |
| } | |
| .glyphicon-briefcase:before { | |
| content: "\e139"; | |
| } | |
| .glyphicon-fullscreen:before { | |
| content: "\e140"; | |
| } | |
| .glyphicon-dashboard:before { | |
| content: "\e141"; | |
| } | |
| .glyphicon-paperclip:before { | |
| content: "\e142"; | |
| } | |
| .glyphicon-heart-empty:before { | |
| content: "\e143"; | |
| } | |
| .glyphicon-link:before { | |
| content: "\e144"; | |
| } | |
| .glyphicon-phone:before { | |
| content: "\e145"; | |
| } | |
| .glyphicon-pushpin:before { | |
| content: "\e146"; | |
| } | |
| .glyphicon-usd:before { | |
| content: "\e148"; | |
| } | |
| .glyphicon-gbp:before { | |
| content: "\e149"; | |
| } | |
| .glyphicon-sort:before { | |
| content: "\e150"; | |
| } | |
| .glyphicon-sort-by-alphabet:before { | |
| content: "\e151"; | |
| } | |
| .glyphicon-sort-by-alphabet-alt:before { | |
| content: "\e152"; | |
| } | |
| .glyphicon-sort-by-order:before { | |
| content: "\e153"; | |
| } | |
| .glyphicon-sort-by-order-alt:before { | |
| content: "\e154"; | |
| } | |
| .glyphicon-sort-by-attributes:before { | |
| content: "\e155"; | |
| } | |
| .glyphicon-sort-by-attributes-alt:before { | |
| content: "\e156"; | |
| } | |
| .glyphicon-unchecked:before { | |
| content: "\e157"; | |
| } | |
| .glyphicon-expand:before { | |
| content: "\e158"; | |
| } | |
| .glyphicon-collapse-down:before { | |
| content: "\e159"; | |
| } | |
| .glyphicon-collapse-up:before { | |
| content: "\e160"; | |
| } | |
| .glyphicon-log-in:before { | |
| content: "\e161"; | |
| } | |
| .glyphicon-flash:before { | |
| content: "\e162"; | |
| } | |
| .glyphicon-log-out:before { | |
| content: "\e163"; | |
| } | |
| .glyphicon-new-window:before { | |
| content: "\e164"; | |
| } | |
| .glyphicon-record:before { | |
| content: "\e165"; | |
| } | |
| .glyphicon-save:before { | |
| content: "\e166"; | |
| } | |
| .glyphicon-open:before { | |
| content: "\e167"; | |
| } | |
| .glyphicon-saved:before { | |
| content: "\e168"; | |
| } | |
| .glyphicon-import:before { | |
| content: "\e169"; | |
| } | |
| .glyphicon-export:before { | |
| content: "\e170"; | |
| } | |
| .glyphicon-send:before { | |
| content: "\e171"; | |
| } | |
| .glyphicon-floppy-disk:before { | |
| content: "\e172"; | |
| } | |
| .glyphicon-floppy-saved:before { | |
| content: "\e173"; | |
| } | |
| .glyphicon-floppy-remove:before { | |
| content: "\e174"; | |
| } | |
| .glyphicon-floppy-save:before { | |
| content: "\e175"; | |
| } | |
| .glyphicon-floppy-open:before { | |
| content: "\e176"; | |
| } | |
| .glyphicon-credit-card:before { | |
| content: "\e177"; | |
| } | |
| .glyphicon-transfer:before { | |
| content: "\e178"; | |
| } | |
| .glyphicon-cutlery:before { | |
| content: "\e179"; | |
| } | |
| .glyphicon-header:before { | |
| content: "\e180"; | |
| } | |
| .glyphicon-compressed:before { | |
| content: "\e181"; | |
| } | |
| .glyphicon-earphone:before { | |
| content: "\e182"; | |
| } | |
| .glyphicon-phone-alt:before { | |
| content: "\e183"; | |
| } | |
| .glyphicon-tower:before { | |
| content: "\e184"; | |
| } | |
| .glyphicon-stats:before { | |
| content: "\e185"; | |
| } | |
| .glyphicon-sd-video:before { | |
| content: "\e186"; | |
| } | |
| .glyphicon-hd-video:before { | |
| content: "\e187"; | |
| } | |
| .glyphicon-subtitles:before { | |
| content: "\e188"; | |
| } | |
| .glyphicon-sound-stereo:before { | |
| content: "\e189"; | |
| } | |
| .glyphicon-sound-dolby:before { | |
| content: "\e190"; | |
| } | |
| .glyphicon-sound-5-1:before { | |
| content: "\e191"; | |
| } | |
| .glyphicon-sound-6-1:before { | |
| content: "\e192"; | |
| } | |
| .glyphicon-sound-7-1:before { | |
| content: "\e193"; | |
| } | |
| .glyphicon-copyright-mark:before { | |
| content: "\e194"; | |
| } | |
| .glyphicon-registration-mark:before { | |
| content: "\e195"; | |
| } | |
| .glyphicon-cloud-download:before { | |
| content: "\e197"; | |
| } | |
| .glyphicon-cloud-upload:before { | |
| content: "\e198"; | |
| } | |
| .glyphicon-tree-conifer:before { | |
| content: "\e199"; | |
| } | |
| .glyphicon-tree-deciduous:before { | |
| content: "\e200"; | |
| } | |
| .glyphicon-cd:before { | |
| content: "\e201"; | |
| } | |
| .glyphicon-save-file:before { | |
| content: "\e202"; | |
| } | |
| .glyphicon-open-file:before { | |
| content: "\e203"; | |
| } | |
| .glyphicon-level-up:before { | |
| content: "\e204"; | |
| } | |
| .glyphicon-copy:before { | |
| content: "\e205"; | |
| } | |
| .glyphicon-paste:before { | |
| content: "\e206"; | |
| } | |
| .glyphicon-alert:before { | |
| content: "\e209"; | |
| } | |
| .glyphicon-equalizer:before { | |
| content: "\e210"; | |
| } | |
| .glyphicon-king:before { | |
| content: "\e211"; | |
| } | |
| .glyphicon-queen:before { | |
| content: "\e212"; | |
| } | |
| .glyphicon-pawn:before { | |
| content: "\e213"; | |
| } | |
| .glyphicon-bishop:before { | |
| content: "\e214"; | |
| } | |
| .glyphicon-knight:before { | |
| content: "\e215"; | |
| } | |
| .glyphicon-baby-formula:before { | |
| content: "\e216"; | |
| } | |
| .glyphicon-tent:before { | |
| content: "\26fa"; | |
| } | |
| .glyphicon-blackboard:before { | |
| content: "\e218"; | |
| } | |
| .glyphicon-bed:before { | |
| content: "\e219"; | |
| } | |
| .glyphicon-apple:before { | |
| content: "\f8ff"; | |
| } | |
| .glyphicon-erase:before { | |
| content: "\e221"; | |
| } | |
| .glyphicon-hourglass:before { | |
| content: "\231b"; | |
| } | |
| .glyphicon-lamp:before { | |
| content: "\e223"; | |
| } | |
| .glyphicon-duplicate:before { | |
| content: "\e224"; | |
| } | |
| .glyphicon-piggy-bank:before { | |
| content: "\e225"; | |
| } | |
| .glyphicon-scissors:before { | |
| content: "\e226"; | |
| } | |
| .glyphicon-bitcoin:before { | |
| content: "\e227"; | |
| } | |
| .glyphicon-btc:before { | |
| content: "\e227"; | |
| } | |
| .glyphicon-xbt:before { | |
| content: "\e227"; | |
| } | |
| .glyphicon-yen:before { | |
| content: "\00a5"; | |
| } | |
| .glyphicon-jpy:before { | |
| content: "\00a5"; | |
| } | |
| .glyphicon-ruble:before { | |
| content: "\20bd"; | |
| } | |
| .glyphicon-rub:before { | |
| content: "\20bd"; | |
| } | |
| .glyphicon-scale:before { | |
| content: "\e230"; | |
| } | |
| .glyphicon-ice-lolly:before { | |
| content: "\e231"; | |
| } | |
| .glyphicon-ice-lolly-tasted:before { | |
| content: "\e232"; | |
| } | |
| .glyphicon-education:before { | |
| content: "\e233"; | |
| } | |
| .glyphicon-option-horizontal:before { | |
| content: "\e234"; | |
| } | |
| .glyphicon-option-vertical:before { | |
| content: "\e235"; | |
| } | |
| .glyphicon-menu-hamburger:before { | |
| content: "\e236"; | |
| } | |
| .glyphicon-modal-window:before { | |
| content: "\e237"; | |
| } | |
| .glyphicon-oil:before { | |
| content: "\e238"; | |
| } | |
| .glyphicon-grain:before { | |
| content: "\e239"; | |
| } | |
| .glyphicon-sunglasses:before { | |
| content: "\e240"; | |
| } | |
| .glyphicon-text-size:before { | |
| content: "\e241"; | |
| } | |
| .glyphicon-text-color:before { | |
| content: "\e242"; | |
| } | |
| .glyphicon-text-background:before { | |
| content: "\e243"; | |
| } | |
| .glyphicon-object-align-top:before { | |
| content: "\e244"; | |
| } | |
| .glyphicon-object-align-bottom:before { | |
| content: "\e245"; | |
| } | |
| .glyphicon-object-align-horizontal:before { | |
| content: "\e246"; | |
| } | |
| .glyphicon-object-align-left:before { | |
| content: "\e247"; | |
| } | |
| .glyphicon-object-align-vertical:before { | |
| content: "\e248"; | |
| } | |
| .glyphicon-object-align-right:before { | |
| content: "\e249"; | |
| } | |
| .glyphicon-triangle-right:before { | |
| content: "\e250"; | |
| } | |
| .glyphicon-triangle-left:before { | |
| content: "\e251"; | |
| } | |
| .glyphicon-triangle-bottom:before { | |
| content: "\e252"; | |
| } | |
| .glyphicon-triangle-top:before { | |
| content: "\e253"; | |
| } | |
| .glyphicon-console:before { | |
| content: "\e254"; | |
| } | |
| .glyphicon-superscript:before { | |
| content: "\e255"; | |
| } | |
| .glyphicon-subscript:before { | |
| content: "\e256"; | |
| } | |
| .glyphicon-menu-left:before { | |
| content: "\e257"; | |
| } | |
| .glyphicon-menu-right:before { | |
| content: "\e258"; | |
| } | |
| .glyphicon-menu-down:before { | |
| content: "\e259"; | |
| } | |
| .glyphicon-menu-up:before { | |
| content: "\e260"; | |
| } | |
| * { | |
| -webkit-box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| box-sizing: border-box; | |
| } | |
| *:before, | |
| *:after { | |
| -webkit-box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| box-sizing: border-box; | |
| } | |
| html { | |
| font-size: 10px; | |
| -webkit-tap-highlight-color: rgba(0, 0, 0, 0); | |
| } | |
| body { | |
| font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; | |
| font-size: 13px; | |
| line-height: 1.42857143; | |
| color: #000; | |
| background-color: #fff; | |
| } | |
| input, | |
| button, | |
| select, | |
| textarea { | |
| font-family: inherit; | |
| font-size: inherit; | |
| line-height: inherit; | |
| } | |
| a { | |
| color: #337ab7; | |
| text-decoration: none; | |
| } | |
| a:hover, | |
| a:focus { | |
| color: #23527c; | |
| text-decoration: underline; | |
| } | |
| a:focus { | |
| outline: 5px auto -webkit-focus-ring-color; | |
| outline-offset: -2px; | |
| } | |
| figure { | |
| margin: 0; | |
| } | |
| img { | |
| vertical-align: middle; | |
| } | |
| .img-responsive, | |
| .thumbnail > img, | |
| .thumbnail a > img, | |
| .carousel-inner > .item > img, | |
| .carousel-inner > .item > a > img { | |
| display: block; | |
| max-width: 100%; | |
| height: auto; | |
| } | |
| .img-rounded { | |
| border-radius: 3px; | |
| } | |
| .img-thumbnail { | |
| padding: 4px; | |
| line-height: 1.42857143; | |
| background-color: #fff; | |
| border: 1px solid #ddd; | |
| border-radius: 2px; | |
| -webkit-transition: all 0.2s ease-in-out; | |
| -o-transition: all 0.2s ease-in-out; | |
| transition: all 0.2s ease-in-out; | |
| display: inline-block; | |
| max-width: 100%; | |
| height: auto; | |
| } | |
| .img-circle { | |
| border-radius: 50%; | |
| } | |
| hr { | |
| margin-top: 18px; | |
| margin-bottom: 18px; | |
| border: 0; | |
| border-top: 1px solid #eeeeee; | |
| } | |
| .sr-only { | |
| position: absolute; | |
| width: 1px; | |
| height: 1px; | |
| margin: -1px; | |
| padding: 0; | |
| overflow: hidden; | |
| clip: rect(0, 0, 0, 0); | |
| border: 0; | |
| } | |
| .sr-only-focusable:active, | |
| .sr-only-focusable:focus { | |
| position: static; | |
| width: auto; | |
| height: auto; | |
| margin: 0; | |
| overflow: visible; | |
| clip: auto; | |
| } | |
| [role="button"] { | |
| cursor: pointer; | |
| } | |
| h1, | |
| h2, | |
| h3, | |
| h4, | |
| h5, | |
| h6, | |
| .h1, | |
| .h2, | |
| .h3, | |
| .h4, | |
| .h5, | |
| .h6 { | |
| font-family: inherit; | |
| font-weight: 500; | |
| line-height: 1.1; | |
| color: inherit; | |
| } | |
| h1 small, | |
| h2 small, | |
| h3 small, | |
| h4 small, | |
| h5 small, | |
| h6 small, | |
| .h1 small, | |
| .h2 small, | |
| .h3 small, | |
| .h4 small, | |
| .h5 small, | |
| .h6 small, | |
| h1 .small, | |
| h2 .small, | |
| h3 .small, | |
| h4 .small, | |
| h5 .small, | |
| h6 .small, | |
| .h1 .small, | |
| .h2 .small, | |
| .h3 .small, | |
| .h4 .small, | |
| .h5 .small, | |
| .h6 .small { | |
| font-weight: normal; | |
| line-height: 1; | |
| color: #777777; | |
| } | |
| h1, | |
| .h1, | |
| h2, | |
| .h2, | |
| h3, | |
| .h3 { | |
| margin-top: 18px; | |
| margin-bottom: 9px; | |
| } | |
| h1 small, | |
| .h1 small, | |
| h2 small, | |
| .h2 small, | |
| h3 small, | |
| .h3 small, | |
| h1 .small, | |
| .h1 .small, | |
| h2 .small, | |
| .h2 .small, | |
| h3 .small, | |
| .h3 .small { | |
| font-size: 65%; | |
| } | |
| h4, | |
| .h4, | |
| h5, | |
| .h5, | |
| h6, | |
| .h6 { | |
| margin-top: 9px; | |
| margin-bottom: 9px; | |
| } | |
| h4 small, | |
| .h4 small, | |
| h5 small, | |
| .h5 small, | |
| h6 small, | |
| .h6 small, | |
| h4 .small, | |
| .h4 .small, | |
| h5 .small, | |
| .h5 .small, | |
| h6 .small, | |
| .h6 .small { | |
| font-size: 75%; | |
| } | |
| h1, | |
| .h1 { | |
| font-size: 33px; | |
| } | |
| h2, | |
| .h2 { | |
| font-size: 27px; | |
| } | |
| h3, | |
| .h3 { | |
| font-size: 23px; | |
| } | |
| h4, | |
| .h4 { | |
| font-size: 17px; | |
| } | |
| h5, | |
| .h5 { | |
| font-size: 13px; | |
| } | |
| h6, | |
| .h6 { | |
| font-size: 12px; | |
| } | |
| p { | |
| margin: 0 0 9px; | |
| } | |
| .lead { | |
| margin-bottom: 18px; | |
| font-size: 14px; | |
| font-weight: 300; | |
| line-height: 1.4; | |
| } | |
| @media (min-width: 768px) { | |
| .lead { | |
| font-size: 19.5px; | |
| } | |
| } | |
| small, | |
| .small { | |
| font-size: 92%; | |
| } | |
| mark, | |
| .mark { | |
| background-color: #fcf8e3; | |
| padding: .2em; | |
| } | |
| .text-left { | |
| text-align: left; | |
| } | |
| .text-right { | |
| text-align: right; | |
| } | |
| .text-center { | |
| text-align: center; | |
| } | |
| .text-justify { | |
| text-align: justify; | |
| } | |
| .text-nowrap { | |
| white-space: nowrap; | |
| } | |
| .text-lowercase { | |
| text-transform: lowercase; | |
| } | |
| .text-uppercase { | |
| text-transform: uppercase; | |
| } | |
| .text-capitalize { | |
| text-transform: capitalize; | |
| } | |
| .text-muted { | |
| color: #777777; | |
| } | |
| .text-primary { | |
| color: #337ab7; | |
| } | |
| a.text-primary:hover, | |
| a.text-primary:focus { | |
| color: #286090; | |
| } | |
| .text-success { | |
| color: #3c763d; | |
| } | |
| a.text-success:hover, | |
| a.text-success:focus { | |
| color: #2b542c; | |
| } | |
| .text-info { | |
| color: #31708f; | |
| } | |
| a.text-info:hover, | |
| a.text-info:focus { | |
| color: #245269; | |
| } | |
| .text-warning { | |
| color: #8a6d3b; | |
| } | |
| a.text-warning:hover, | |
| a.text-warning:focus { | |
| color: #66512c; | |
| } | |
| .text-danger { | |
| color: #a94442; | |
| } | |
| a.text-danger:hover, | |
| a.text-danger:focus { | |
| color: #843534; | |
| } | |
| .bg-primary { | |
| color: #fff; | |
| background-color: #337ab7; | |
| } | |
| a.bg-primary:hover, | |
| a.bg-primary:focus { | |
| background-color: #286090; | |
| } | |
| .bg-success { | |
| background-color: #dff0d8; | |
| } | |
| a.bg-success:hover, | |
| a.bg-success:focus { | |
| background-color: #c1e2b3; | |
| } | |
| .bg-info { | |
| background-color: #d9edf7; | |
| } | |
| a.bg-info:hover, | |
| a.bg-info:focus { | |
| background-color: #afd9ee; | |
| } | |
| .bg-warning { | |
| background-color: #fcf8e3; | |
| } | |
| a.bg-warning:hover, | |
| a.bg-warning:focus { | |
| background-color: #f7ecb5; | |
| } | |
| .bg-danger { | |
| background-color: #f2dede; | |
| } | |
| a.bg-danger:hover, | |
| a.bg-danger:focus { | |
| background-color: #e4b9b9; | |
| } | |
| .page-header { | |
| padding-bottom: 8px; | |
| margin: 36px 0 18px; | |
| border-bottom: 1px solid #eeeeee; | |
| } | |
| ul, | |
| ol { | |
| margin-top: 0; | |
| margin-bottom: 9px; | |
| } | |
| ul ul, | |
| ol ul, | |
| ul ol, | |
| ol ol { | |
| margin-bottom: 0; | |
| } | |
| .list-unstyled { | |
| padding-left: 0; | |
| list-style: none; | |
| } | |
| .list-inline { | |
| padding-left: 0; | |
| list-style: none; | |
| margin-left: -5px; | |
| } | |
| .list-inline > li { | |
| display: inline-block; | |
| padding-left: 5px; | |
| padding-right: 5px; | |
| } | |
| dl { | |
| margin-top: 0; | |
| margin-bottom: 18px; | |
| } | |
| dt, | |
| dd { | |
| line-height: 1.42857143; | |
| } | |
| dt { | |
| font-weight: bold; | |
| } | |
| dd { | |
| margin-left: 0; | |
| } | |
| @media (min-width: 541px) { | |
| .dl-horizontal dt { | |
| float: left; | |
| width: 160px; | |
| clear: left; | |
| text-align: right; | |
| overflow: hidden; | |
| text-overflow: ellipsis; | |
| white-space: nowrap; | |
| } | |
| .dl-horizontal dd { | |
| margin-left: 180px; | |
| } | |
| } | |
| abbr[title], | |
| abbr[data-original-title] { | |
| cursor: help; | |
| border-bottom: 1px dotted #777777; | |
| } | |
| .initialism { | |
| font-size: 90%; | |
| text-transform: uppercase; | |
| } | |
| blockquote { | |
| padding: 9px 18px; | |
| margin: 0 0 18px; | |
| font-size: inherit; | |
| border-left: 5px solid #eeeeee; | |
| } | |
| blockquote p:last-child, | |
| blockquote ul:last-child, | |
| blockquote ol:last-child { | |
| margin-bottom: 0; | |
| } | |
| blockquote footer, | |
| blockquote small, | |
| blockquote .small { | |
| display: block; | |
| font-size: 80%; | |
| line-height: 1.42857143; | |
| color: #777777; | |
| } | |
| blockquote footer:before, | |
| blockquote small:before, | |
| blockquote .small:before { | |
| content: '\2014 \00A0'; | |
| } | |
| .blockquote-reverse, | |
| blockquote.pull-right { | |
| padding-right: 15px; | |
| padding-left: 0; | |
| border-right: 5px solid #eeeeee; | |
| border-left: 0; | |
| text-align: right; | |
| } | |
| .blockquote-reverse footer:before, | |
| blockquote.pull-right footer:before, | |
| .blockquote-reverse small:before, | |
| blockquote.pull-right small:before, | |
| .blockquote-reverse .small:before, | |
| blockquote.pull-right .small:before { | |
| content: ''; | |
| } | |
| .blockquote-reverse footer:after, | |
| blockquote.pull-right footer:after, | |
| .blockquote-reverse small:after, | |
| blockquote.pull-right small:after, | |
| .blockquote-reverse .small:after, | |
| blockquote.pull-right .small:after { | |
| content: '\00A0 \2014'; | |
| } | |
| address { | |
| margin-bottom: 18px; | |
| font-style: normal; | |
| line-height: 1.42857143; | |
| } | |
| code, | |
| kbd, | |
| pre, | |
| samp { | |
| font-family: monospace; | |
| } | |
| code { | |
| padding: 2px 4px; | |
| font-size: 90%; | |
| color: #c7254e; | |
| background-color: #f9f2f4; | |
| border-radius: 2px; | |
| } | |
| kbd { | |
| padding: 2px 4px; | |
| font-size: 90%; | |
| color: #888; | |
| background-color: transparent; | |
| border-radius: 1px; | |
| box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); | |
| } | |
| kbd kbd { | |
| padding: 0; | |
| font-size: 100%; | |
| font-weight: bold; | |
| box-shadow: none; | |
| } | |
| pre { | |
| display: block; | |
| padding: 8.5px; | |
| margin: 0 0 9px; | |
| font-size: 12px; | |
| line-height: 1.42857143; | |
| word-break: break-all; | |
| word-wrap: break-word; | |
| color: #333333; | |
| background-color: #f5f5f5; | |
| border: 1px solid #ccc; | |
| border-radius: 2px; | |
| } | |
| pre code { | |
| padding: 0; | |
| font-size: inherit; | |
| color: inherit; | |
| white-space: pre-wrap; | |
| background-color: transparent; | |
| border-radius: 0; | |
| } | |
| .pre-scrollable { | |
| max-height: 340px; | |
| overflow-y: scroll; | |
| } | |
| .container { | |
| margin-right: auto; | |
| margin-left: auto; | |
| padding-left: 0px; | |
| padding-right: 0px; | |
| } | |
| @media (min-width: 768px) { | |
| .container { | |
| width: 768px; | |
| } | |
| } | |
| @media (min-width: 992px) { | |
| .container { | |
| width: 940px; | |
| } | |
| } | |
| @media (min-width: 1200px) { | |
| .container { | |
| width: 1140px; | |
| } | |
| } | |
| .container-fluid { | |
| margin-right: auto; | |
| margin-left: auto; | |
| padding-left: 0px; | |
| padding-right: 0px; | |
| } | |
| .row { | |
| margin-left: 0px; | |
| margin-right: 0px; | |
| } | |
| .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { | |
| position: relative; | |
| min-height: 1px; | |
| padding-left: 0px; | |
| padding-right: 0px; | |
| } | |
| .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { | |
| float: left; | |
| } | |
| .col-xs-12 { | |
| width: 100%; | |
| } | |
| .col-xs-11 { | |
| width: 91.66666667%; | |
| } | |
| .col-xs-10 { | |
| width: 83.33333333%; | |
| } | |
| .col-xs-9 { | |
| width: 75%; | |
| } | |
| .col-xs-8 { | |
| width: 66.66666667%; | |
| } | |
| .col-xs-7 { | |
| width: 58.33333333%; | |
| } | |
| .col-xs-6 { | |
| width: 50%; | |
| } | |
| .col-xs-5 { | |
| width: 41.66666667%; | |
| } | |
| .col-xs-4 { | |
| width: 33.33333333%; | |
| } | |
| .col-xs-3 { | |
| width: 25%; | |
| } | |
| .col-xs-2 { | |
| width: 16.66666667%; | |
| } | |
| .col-xs-1 { | |
| width: 8.33333333%; | |
| } | |
| .col-xs-pull-12 { | |
| right: 100%; | |
| } | |
| .col-xs-pull-11 { | |
| right: 91.66666667%; | |
| } | |
| .col-xs-pull-10 { | |
| right: 83.33333333%; | |
| } | |
| .col-xs-pull-9 { | |
| right: 75%; | |
| } | |
| .col-xs-pull-8 { | |
| right: 66.66666667%; | |
| } | |
| .col-xs-pull-7 { | |
| right: 58.33333333%; | |
| } | |
| .col-xs-pull-6 { | |
| right: 50%; | |
| } | |
| .col-xs-pull-5 { | |
| right: 41.66666667%; | |
| } | |
| .col-xs-pull-4 { | |
| right: 33.33333333%; | |
| } | |
| .col-xs-pull-3 { | |
| right: 25%; | |
| } | |
| .col-xs-pull-2 { | |
| right: 16.66666667%; | |
| } | |
| .col-xs-pull-1 { | |
| right: 8.33333333%; | |
| } | |
| .col-xs-pull-0 { | |
| right: auto; | |
| } | |
| .col-xs-push-12 { | |
| left: 100%; | |
| } | |
| .col-xs-push-11 { | |
| left: 91.66666667%; | |
| } | |
| .col-xs-push-10 { | |
| left: 83.33333333%; | |
| } | |
| .col-xs-push-9 { | |
| left: 75%; | |
| } | |
| .col-xs-push-8 { | |
| left: 66.66666667%; | |
| } | |
| .col-xs-push-7 { | |
| left: 58.33333333%; | |
| } | |
| .col-xs-push-6 { | |
| left: 50%; | |
| } | |
| .col-xs-push-5 { | |
| left: 41.66666667%; | |
| } | |
| .col-xs-push-4 { | |
| left: 33.33333333%; | |
| } | |
| .col-xs-push-3 { | |
| left: 25%; | |
| } | |
| .col-xs-push-2 { | |
| left: 16.66666667%; | |
| } | |
| .col-xs-push-1 { | |
| left: 8.33333333%; | |
| } | |
| .col-xs-push-0 { | |
| left: auto; | |
| } | |
| .col-xs-offset-12 { | |
| margin-left: 100%; | |
| } | |
| .col-xs-offset-11 { | |
| margin-left: 91.66666667%; | |
| } | |
| .col-xs-offset-10 { | |
| margin-left: 83.33333333%; | |
| } | |
| .col-xs-offset-9 { | |
| margin-left: 75%; | |
| } | |
| .col-xs-offset-8 { | |
| margin-left: 66.66666667%; | |
| } | |
| .col-xs-offset-7 { | |
| margin-left: 58.33333333%; | |
| } | |
| .col-xs-offset-6 { | |
| margin-left: 50%; | |
| } | |
| .col-xs-offset-5 { | |
| margin-left: 41.66666667%; | |
| } | |
| .col-xs-offset-4 { | |
| margin-left: 33.33333333%; | |
| } | |
| .col-xs-offset-3 { | |
| margin-left: 25%; | |
| } | |
| .col-xs-offset-2 { | |
| margin-left: 16.66666667%; | |
| } | |
| .col-xs-offset-1 { | |
| margin-left: 8.33333333%; | |
| } | |
| .col-xs-offset-0 { | |
| margin-left: 0%; | |
| } | |
| @media (min-width: 768px) { | |
| .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { | |
| float: left; | |
| } | |
| .col-sm-12 { | |
| width: 100%; | |
| } | |
| .col-sm-11 { | |
| width: 91.66666667%; | |
| } | |
| .col-sm-10 { | |
| width: 83.33333333%; | |
| } | |
| .col-sm-9 { | |
| width: 75%; | |
| } | |
| .col-sm-8 { | |
| width: 66.66666667%; | |
| } | |
| .col-sm-7 { | |
| width: 58.33333333%; | |
| } | |
| .col-sm-6 { | |
| width: 50%; | |
| } | |
| .col-sm-5 { | |
| width: 41.66666667%; | |
| } | |
| .col-sm-4 { | |
| width: 33.33333333%; | |
| } | |
| .col-sm-3 { | |
| width: 25%; | |
| } | |
| .col-sm-2 { | |
| width: 16.66666667%; | |
| } | |
| .col-sm-1 { | |
| width: 8.33333333%; | |
| } | |
| .col-sm-pull-12 { | |
| right: 100%; | |
| } | |
| .col-sm-pull-11 { | |
| right: 91.66666667%; | |
| } | |
| .col-sm-pull-10 { | |
| right: 83.33333333%; | |
| } | |
| .col-sm-pull-9 { | |
| right: 75%; | |
| } | |
| .col-sm-pull-8 { | |
| right: 66.66666667%; | |
| } | |
| .col-sm-pull-7 { | |
| right: 58.33333333%; | |
| } | |
| .col-sm-pull-6 { | |
| right: 50%; | |
| } | |
| .col-sm-pull-5 { | |
| right: 41.66666667%; | |
| } | |
| .col-sm-pull-4 { | |
| right: 33.33333333%; | |
| } | |
| .col-sm-pull-3 { | |
| right: 25%; | |
| } | |
| .col-sm-pull-2 { | |
| right: 16.66666667%; | |
| } | |
| .col-sm-pull-1 { | |
| right: 8.33333333%; | |
| } | |
| .col-sm-pull-0 { | |
| right: auto; | |
| } | |
| .col-sm-push-12 { | |
| left: 100%; | |
| } | |
| .col-sm-push-11 { | |
| left: 91.66666667%; | |
| } | |
| .col-sm-push-10 { | |
| left: 83.33333333%; | |
| } | |
| .col-sm-push-9 { | |
| left: 75%; | |
| } | |
| .col-sm-push-8 { | |
| left: 66.66666667%; | |
| } | |
| .col-sm-push-7 { | |
| left: 58.33333333%; | |
| } | |
| .col-sm-push-6 { | |
| left: 50%; | |
| } | |
| .col-sm-push-5 { | |
| left: 41.66666667%; | |
| } | |
| .col-sm-push-4 { | |
| left: 33.33333333%; | |
| } | |
| .col-sm-push-3 { | |
| left: 25%; | |
| } | |
| .col-sm-push-2 { | |
| left: 16.66666667%; | |
| } | |
| .col-sm-push-1 { | |
| left: 8.33333333%; | |
| } | |
| .col-sm-push-0 { | |
| left: auto; | |
| } | |
| .col-sm-offset-12 { | |
| margin-left: 100%; | |
| } | |
| .col-sm-offset-11 { | |
| margin-left: 91.66666667%; | |
| } | |
| .col-sm-offset-10 { | |
| margin-left: 83.33333333%; | |
| } | |
| .col-sm-offset-9 { | |
| margin-left: 75%; | |
| } | |
| .col-sm-offset-8 { | |
| margin-left: 66.66666667%; | |
| } | |
| .col-sm-offset-7 { | |
| margin-left: 58.33333333%; | |
| } | |
| .col-sm-offset-6 { | |
| margin-left: 50%; | |
| } | |
| .col-sm-offset-5 { | |
| margin-left: 41.66666667%; | |
| } | |
| .col-sm-offset-4 { | |
| margin-left: 33.33333333%; | |
| } | |
| .col-sm-offset-3 { | |
| margin-left: 25%; | |
| } | |
| .col-sm-offset-2 { | |
| margin-left: 16.66666667%; | |
| } | |
| .col-sm-offset-1 { | |
| margin-left: 8.33333333%; | |
| } | |
| .col-sm-offset-0 { | |
| margin-left: 0%; | |
| } | |
| } | |
| @media (min-width: 992px) { | |
| .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { | |
| float: left; | |
| } | |
| .col-md-12 { | |
| width: 100%; | |
| } | |
| .col-md-11 { | |
| width: 91.66666667%; | |
| } | |
| .col-md-10 { | |
| width: 83.33333333%; | |
| } | |
| .col-md-9 { | |
| width: 75%; | |
| } | |
| .col-md-8 { | |
| width: 66.66666667%; | |
| } | |
| .col-md-7 { | |
| width: 58.33333333%; | |
| } | |
| .col-md-6 { | |
| width: 50%; | |
| } | |
| .col-md-5 { | |
| width: 41.66666667%; | |
| } | |
| .col-md-4 { | |
| width: 33.33333333%; | |
| } | |
| .col-md-3 { | |
| width: 25%; | |
| } | |
| .col-md-2 { | |
| width: 16.66666667%; | |
| } | |
| .col-md-1 { | |
| width: 8.33333333%; | |
| } | |
| .col-md-pull-12 { | |
| right: 100%; | |
| } | |
| .col-md-pull-11 { | |
| right: 91.66666667%; | |
| } | |
| .col-md-pull-10 { | |
| right: 83.33333333%; | |
| } | |
| .col-md-pull-9 { | |
| right: 75%; | |
| } | |
| .col-md-pull-8 { | |
| right: 66.66666667%; | |
| } | |
| .col-md-pull-7 { | |
| right: 58.33333333%; | |
| } | |
| .col-md-pull-6 { | |
| right: 50%; | |
| } | |
| .col-md-pull-5 { | |
| right: 41.66666667%; | |
| } | |
| .col-md-pull-4 { | |
| right: 33.33333333%; | |
| } | |
| .col-md-pull-3 { | |
| right: 25%; | |
| } | |
| .col-md-pull-2 { | |
| right: 16.66666667%; | |
| } | |
| .col-md-pull-1 { | |
| right: 8.33333333%; | |
| } | |
| .col-md-pull-0 { | |
| right: auto; | |
| } | |
| .col-md-push-12 { | |
| left: 100%; | |
| } | |
| .col-md-push-11 { | |
| left: 91.66666667%; | |
| } | |
| .col-md-push-10 { | |
| left: 83.33333333%; | |
| } | |
| .col-md-push-9 { | |
| left: 75%; | |
| } | |
| .col-md-push-8 { | |
| left: 66.66666667%; | |
| } | |
| .col-md-push-7 { | |
| left: 58.33333333%; | |
| } | |
| .col-md-push-6 { | |
| left: 50%; | |
| } | |
| .col-md-push-5 { | |
| left: 41.66666667%; | |
| } | |
| .col-md-push-4 { | |
| left: 33.33333333%; | |
| } | |
| .col-md-push-3 { | |
| left: 25%; | |
| } | |
| .col-md-push-2 { | |
| left: 16.66666667%; | |
| } | |
| .col-md-push-1 { | |
| left: 8.33333333%; | |
| } | |
| .col-md-push-0 { | |
| left: auto; | |
| } | |
| .col-md-offset-12 { | |
| margin-left: 100%; | |
| } | |
| .col-md-offset-11 { | |
| margin-left: 91.66666667%; | |
| } | |
| .col-md-offset-10 { | |
| margin-left: 83.33333333%; | |
| } | |
| .col-md-offset-9 { | |
| margin-left: 75%; | |
| } | |
| .col-md-offset-8 { | |
| margin-left: 66.66666667%; | |
| } | |
| .col-md-offset-7 { | |
| margin-left: 58.33333333%; | |
| } | |
| .col-md-offset-6 { | |
| margin-left: 50%; | |
| } | |
| .col-md-offset-5 { | |
| margin-left: 41.66666667%; | |
| } | |
| .col-md-offset-4 { | |
| margin-left: 33.33333333%; | |
| } | |
| .col-md-offset-3 { | |
| margin-left: 25%; | |
| } | |
| .col-md-offset-2 { | |
| margin-left: 16.66666667%; | |
| } | |
| .col-md-offset-1 { | |
| margin-left: 8.33333333%; | |
| } | |
| .col-md-offset-0 { | |
| margin-left: 0%; | |
| } | |
| } | |
| @media (min-width: 1200px) { | |
| .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { | |
| float: left; | |
| } | |
| .col-lg-12 { | |
| width: 100%; | |
| } | |
| .col-lg-11 { | |
| width: 91.66666667%; | |
| } | |
| .col-lg-10 { | |
| width: 83.33333333%; | |
| } | |
| .col-lg-9 { | |
| width: 75%; | |
| } | |
| .col-lg-8 { | |
| width: 66.66666667%; | |
| } | |
| .col-lg-7 { | |
| width: 58.33333333%; | |
| } | |
| .col-lg-6 { | |
| width: 50%; | |
| } | |
| .col-lg-5 { | |
| width: 41.66666667%; | |
| } | |
| .col-lg-4 { | |
| width: 33.33333333%; | |
| } | |
| .col-lg-3 { | |
| width: 25%; | |
| } | |
| .col-lg-2 { | |
| width: 16.66666667%; | |
| } | |
| .col-lg-1 { | |
| width: 8.33333333%; | |
| } | |
| .col-lg-pull-12 { | |
| right: 100%; | |
| } | |
| .col-lg-pull-11 { | |
| right: 91.66666667%; | |
| } | |
| .col-lg-pull-10 { | |
| right: 83.33333333%; | |
| } | |
| .col-lg-pull-9 { | |
| right: 75%; | |
| } | |
| .col-lg-pull-8 { | |
| right: 66.66666667%; | |
| } | |
| .col-lg-pull-7 { | |
| right: 58.33333333%; | |
| } | |
| .col-lg-pull-6 { | |
| right: 50%; | |
| } | |
| .col-lg-pull-5 { | |
| right: 41.66666667%; | |
| } | |
| .col-lg-pull-4 { | |
| right: 33.33333333%; | |
| } | |
| .col-lg-pull-3 { | |
| right: 25%; | |
| } | |
| .col-lg-pull-2 { | |
| right: 16.66666667%; | |
| } | |
| .col-lg-pull-1 { | |
| right: 8.33333333%; | |
| } | |
| .col-lg-pull-0 { | |
| right: auto; | |
| } | |
| .col-lg-push-12 { | |
| left: 100%; | |
| } | |
| .col-lg-push-11 { | |
| left: 91.66666667%; | |
| } | |
| .col-lg-push-10 { | |
| left: 83.33333333%; | |
| } | |
| .col-lg-push-9 { | |
| left: 75%; | |
| } | |
| .col-lg-push-8 { | |
| left: 66.66666667%; | |
| } | |
| .col-lg-push-7 { | |
| left: 58.33333333%; | |
| } | |
| .col-lg-push-6 { | |
| left: 50%; | |
| } | |
| .col-lg-push-5 { | |
| left: 41.66666667%; | |
| } | |
| .col-lg-push-4 { | |
| left: 33.33333333%; | |
| } | |
| .col-lg-push-3 { | |
| left: 25%; | |
| } | |
| .col-lg-push-2 { | |
| left: 16.66666667%; | |
| } | |
| .col-lg-push-1 { | |
| left: 8.33333333%; | |
| } | |
| .col-lg-push-0 { | |
| left: auto; | |
| } | |
| .col-lg-offset-12 { | |
| margin-left: 100%; | |
| } | |
| .col-lg-offset-11 { | |
| margin-left: 91.66666667%; | |
| } | |
| .col-lg-offset-10 { | |
| margin-left: 83.33333333%; | |
| } | |
| .col-lg-offset-9 { | |
| margin-left: 75%; | |
| } | |
| .col-lg-offset-8 { | |
| margin-left: 66.66666667%; | |
| } | |
| .col-lg-offset-7 { | |
| margin-left: 58.33333333%; | |
| } | |
| .col-lg-offset-6 { | |
| margin-left: 50%; | |
| } | |
| .col-lg-offset-5 { | |
| margin-left: 41.66666667%; | |
| } | |
| .col-lg-offset-4 { | |
| margin-left: 33.33333333%; | |
| } | |
| .col-lg-offset-3 { | |
| margin-left: 25%; | |
| } | |
| .col-lg-offset-2 { | |
| margin-left: 16.66666667%; | |
| } | |
| .col-lg-offset-1 { | |
| margin-left: 8.33333333%; | |
| } | |
| .col-lg-offset-0 { | |
| margin-left: 0%; | |
| } | |
| } | |
| table { | |
| background-color: transparent; | |
| } | |
| caption { | |
| padding-top: 8px; | |
| padding-bottom: 8px; | |
| color: #777777; | |
| text-align: left; | |
| } | |
| th { | |
| text-align: left; | |
| } | |
| .table { | |
| width: 100%; | |
| max-width: 100%; | |
| margin-bottom: 18px; | |
| } | |
| .table > thead > tr > th, | |
| .table > tbody > tr > th, | |
| .table > tfoot > tr > th, | |
| .table > thead > tr > td, | |
| .table > tbody > tr > td, | |
| .table > tfoot > tr > td { | |
| padding: 8px; | |
| line-height: 1.42857143; | |
| vertical-align: top; | |
| border-top: 1px solid #ddd; | |
| } | |
| .table > thead > tr > th { | |
| vertical-align: bottom; | |
| border-bottom: 2px solid #ddd; | |
| } | |
| .table > caption + thead > tr:first-child > th, | |
| .table > colgroup + thead > tr:first-child > th, | |
| .table > thead:first-child > tr:first-child > th, | |
| .table > caption + thead > tr:first-child > td, | |
| .table > colgroup + thead > tr:first-child > td, | |
| .table > thead:first-child > tr:first-child > td { | |
| border-top: 0; | |
| } | |
| .table > tbody + tbody { | |
| border-top: 2px solid #ddd; | |
| } | |
| .table .table { | |
| background-color: #fff; | |
| } | |
| .table-condensed > thead > tr > th, | |
| .table-condensed > tbody > tr > th, | |
| .table-condensed > tfoot > tr > th, | |
| .table-condensed > thead > tr > td, | |
| .table-condensed > tbody > tr > td, | |
| .table-condensed > tfoot > tr > td { | |
| padding: 5px; | |
| } | |
| .table-bordered { | |
| border: 1px solid #ddd; | |
| } | |
| .table-bordered > thead > tr > th, | |
| .table-bordered > tbody > tr > th, | |
| .table-bordered > tfoot > tr > th, | |
| .table-bordered > thead > tr > td, | |
| .table-bordered > tbody > tr > td, | |
| .table-bordered > tfoot > tr > td { | |
| border: 1px solid #ddd; | |
| } | |
| .table-bordered > thead > tr > th, | |
| .table-bordered > thead > tr > td { | |
| border-bottom-width: 2px; | |
| } | |
| .table-striped > tbody > tr:nth-of-type(odd) { | |
| background-color: #f9f9f9; | |
| } | |
| .table-hover > tbody > tr:hover { | |
| background-color: #f5f5f5; | |
| } | |
| table col[class*="col-"] { | |
| position: static; | |
| float: none; | |
| display: table-column; | |
| } | |
| table td[class*="col-"], | |
| table th[class*="col-"] { | |
| position: static; | |
| float: none; | |
| display: table-cell; | |
| } | |
| .table > thead > tr > td.active, | |
| .table > tbody > tr > td.active, | |
| .table > tfoot > tr > td.active, | |
| .table > thead > tr > th.active, | |
| .table > tbody > tr > th.active, | |
| .table > tfoot > tr > th.active, | |
| .table > thead > tr.active > td, | |
| .table > tbody > tr.active > td, | |
| .table > tfoot > tr.active > td, | |
| .table > thead > tr.active > th, | |
| .table > tbody > tr.active > th, | |
| .table > tfoot > tr.active > th { | |
| background-color: #f5f5f5; | |
| } | |
| .table-hover > tbody > tr > td.active:hover, | |
| .table-hover > tbody > tr > th.active:hover, | |
| .table-hover > tbody > tr.active:hover > td, | |
| .table-hover > tbody > tr:hover > .active, | |
| .table-hover > tbody > tr.active:hover > th { | |
| background-color: #e8e8e8; | |
| } | |
| .table > thead > tr > td.success, | |
| .table > tbody > tr > td.success, | |
| .table > tfoot > tr > td.success, | |
| .table > thead > tr > th.success, | |
| .table > tbody > tr > th.success, | |
| .table > tfoot > tr > th.success, | |
| .table > thead > tr.success > td, | |
| .table > tbody > tr.success > td, | |
| .table > tfoot > tr.success > td, | |
| .table > thead > tr.success > th, | |
| .table > tbody > tr.success > th, | |
| .table > tfoot > tr.success > th { | |
| background-color: #dff0d8; | |
| } | |
| .table-hover > tbody > tr > td.success:hover, | |
| .table-hover > tbody > tr > th.success:hover, | |
| .table-hover > tbody > tr.success:hover > td, | |
| .table-hover > tbody > tr:hover > .success, | |
| .table-hover > tbody > tr.success:hover > th { | |
| background-color: #d0e9c6; | |
| } | |
| .table > thead > tr > td.info, | |
| .table > tbody > tr > td.info, | |
| .table > tfoot > tr > td.info, | |
| .table > thead > tr > th.info, | |
| .table > tbody > tr > th.info, | |
| .table > tfoot > tr > th.info, | |
| .table > thead > tr.info > td, | |
| .table > tbody > tr.info > td, | |
| .table > tfoot > tr.info > td, | |
| .table > thead > tr.info > th, | |
| .table > tbody > tr.info > th, | |
| .table > tfoot > tr.info > th { | |
| background-color: #d9edf7; | |
| } | |
| .table-hover > tbody > tr > td.info:hover, | |
| .table-hover > tbody > tr > th.info:hover, | |
| .table-hover > tbody > tr.info:hover > td, | |
| .table-hover > tbody > tr:hover > .info, | |
| .table-hover > tbody > tr.info:hover > th { | |
| background-color: #c4e3f3; | |
| } | |
| .table > thead > tr > td.warning, | |
| .table > tbody > tr > td.warning, | |
| .table > tfoot > tr > td.warning, | |
| .table > thead > tr > th.warning, | |
| .table > tbody > tr > th.warning, | |
| .table > tfoot > tr > th.warning, | |
| .table > thead > tr.warning > td, | |
| .table > tbody > tr.warning > td, | |
| .table > tfoot > tr.warning > td, | |
| .table > thead > tr.warning > th, | |
| .table > tbody > tr.warning > th, | |
| .table > tfoot > tr.warning > th { | |
| background-color: #fcf8e3; | |
| } | |
| .table-hover > tbody > tr > td.warning:hover, | |
| .table-hover > tbody > tr > th.warning:hover, | |
| .table-hover > tbody > tr.warning:hover > td, | |
| .table-hover > tbody > tr:hover > .warning, | |
| .table-hover > tbody > tr.warning:hover > th { | |
| background-color: #faf2cc; | |
| } | |
| .table > thead > tr > td.danger, | |
| .table > tbody > tr > td.danger, | |
| .table > tfoot > tr > td.danger, | |
| .table > thead > tr > th.danger, | |
| .table > tbody > tr > th.danger, | |
| .table > tfoot > tr > th.danger, | |
| .table > thead > tr.danger > td, | |
| .table > tbody > tr.danger > td, | |
| .table > tfoot > tr.danger > td, | |
| .table > thead > tr.danger > th, | |
| .table > tbody > tr.danger > th, | |
| .table > tfoot > tr.danger > th { | |
| background-color: #f2dede; | |
| } | |
| .table-hover > tbody > tr > td.danger:hover, | |
| .table-hover > tbody > tr > th.danger:hover, | |
| .table-hover > tbody > tr.danger:hover > td, | |
| .table-hover > tbody > tr:hover > .danger, | |
| .table-hover > tbody > tr.danger:hover > th { | |
| background-color: #ebcccc; | |
| } | |
| .table-responsive { | |
| overflow-x: auto; | |
| min-height: 0.01%; | |
| } | |
| @media screen and (max-width: 767px) { | |
| .table-responsive { | |
| width: 100%; | |
| margin-bottom: 13.5px; | |
| overflow-y: hidden; | |
| -ms-overflow-style: -ms-autohiding-scrollbar; | |
| border: 1px solid #ddd; | |
| } | |
| .table-responsive > .table { | |
| margin-bottom: 0; | |
| } | |
| .table-responsive > .table > thead > tr > th, | |
| .table-responsive > .table > tbody > tr > th, | |
| .table-responsive > .table > tfoot > tr > th, | |
| .table-responsive > .table > thead > tr > td, | |
| .table-responsive > .table > tbody > tr > td, | |
| .table-responsive > .table > tfoot > tr > td { | |
| white-space: nowrap; | |
| } | |
| .table-responsive > .table-bordered { | |
| border: 0; | |
| } | |
| .table-responsive > .table-bordered > thead > tr > th:first-child, | |
| .table-responsive > .table-bordered > tbody > tr > th:first-child, | |
| .table-responsive > .table-bordered > tfoot > tr > th:first-child, | |
| .table-responsive > .table-bordered > thead > tr > td:first-child, | |
| .table-responsive > .table-bordered > tbody > tr > td:first-child, | |
| .table-responsive > .table-bordered > tfoot > tr > td:first-child { | |
| border-left: 0; | |
| } | |
| .table-responsive > .table-bordered > thead > tr > th:last-child, | |
| .table-responsive > .table-bordered > tbody > tr > th:last-child, | |
| .table-responsive > .table-bordered > tfoot > tr > th:last-child, | |
| .table-responsive > .table-bordered > thead > tr > td:last-child, | |
| .table-responsive > .table-bordered > tbody > tr > td:last-child, | |
| .table-responsive > .table-bordered > tfoot > tr > td:last-child { | |
| border-right: 0; | |
| } | |
| .table-responsive > .table-bordered > tbody > tr:last-child > th, | |
| .table-responsive > .table-bordered > tfoot > tr:last-child > th, | |
| .table-responsive > .table-bordered > tbody > tr:last-child > td, | |
| .table-responsive > .table-bordered > tfoot > tr:last-child > td { | |
| border-bottom: 0; | |
| } | |
| } | |
| fieldset { | |
| padding: 0; | |
| margin: 0; | |
| border: 0; | |
| min-width: 0; | |
| } | |
| legend { | |
| display: block; | |
| width: 100%; | |
| padding: 0; | |
| margin-bottom: 18px; | |
| font-size: 19.5px; | |
| line-height: inherit; | |
| color: #333333; | |
| border: 0; | |
| border-bottom: 1px solid #e5e5e5; | |
| } | |
| label { | |
| display: inline-block; | |
| max-width: 100%; | |
| margin-bottom: 5px; | |
| font-weight: bold; | |
| } | |
| input[type="search"] { | |
| -webkit-box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| box-sizing: border-box; | |
| } | |
| input[type="radio"], | |
| input[type="checkbox"] { | |
| margin: 4px 0 0; | |
| margin-top: 1px \9; | |
| line-height: normal; | |
| } | |
| input[type="file"] { | |
| display: block; | |
| } | |
| input[type="range"] { | |
| display: block; | |
| width: 100%; | |
| } | |
| select[multiple], | |
| select[size] { | |
| height: auto; | |
| } | |
| input[type="file"]:focus, | |
| input[type="radio"]:focus, | |
| input[type="checkbox"]:focus { | |
| outline: 5px auto -webkit-focus-ring-color; | |
| outline-offset: -2px; | |
| } | |
| output { | |
| display: block; | |
| padding-top: 7px; | |
| font-size: 13px; | |
| line-height: 1.42857143; | |
| color: #555555; | |
| } | |
| .form-control { | |
| display: block; | |
| width: 100%; | |
| height: 32px; | |
| padding: 6px 12px; | |
| font-size: 13px; | |
| line-height: 1.42857143; | |
| color: #555555; | |
| background-color: #fff; | |
| background-image: none; | |
| border: 1px solid #ccc; | |
| border-radius: 2px; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
| box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
| -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; | |
| -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; | |
| transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; | |
| } | |
| .form-control:focus { | |
| border-color: #66afe9; | |
| outline: 0; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); | |
| box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); | |
| } | |
| .form-control::-moz-placeholder { | |
| color: #999; | |
| opacity: 1; | |
| } | |
| .form-control:-ms-input-placeholder { | |
| color: #999; | |
| } | |
| .form-control::-webkit-input-placeholder { | |
| color: #999; | |
| } | |
| .form-control::-ms-expand { | |
| border: 0; | |
| background-color: transparent; | |
| } | |
| .form-control[disabled], | |
| .form-control[readonly], | |
| fieldset[disabled] .form-control { | |
| background-color: #eeeeee; | |
| opacity: 1; | |
| } | |
| .form-control[disabled], | |
| fieldset[disabled] .form-control { | |
| cursor: not-allowed; | |
| } | |
| textarea.form-control { | |
| height: auto; | |
| } | |
| input[type="search"] { | |
| -webkit-appearance: none; | |
| } | |
| @media screen and (-webkit-min-device-pixel-ratio: 0) { | |
| input[type="date"].form-control, | |
| input[type="time"].form-control, | |
| input[type="datetime-local"].form-control, | |
| input[type="month"].form-control { | |
| line-height: 32px; | |
| } | |
| input[type="date"].input-sm, | |
| input[type="time"].input-sm, | |
| input[type="datetime-local"].input-sm, | |
| input[type="month"].input-sm, | |
| .input-group-sm input[type="date"], | |
| .input-group-sm input[type="time"], | |
| .input-group-sm input[type="datetime-local"], | |
| .input-group-sm input[type="month"] { | |
| line-height: 30px; | |
| } | |
| input[type="date"].input-lg, | |
| input[type="time"].input-lg, | |
| input[type="datetime-local"].input-lg, | |
| input[type="month"].input-lg, | |
| .input-group-lg input[type="date"], | |
| .input-group-lg input[type="time"], | |
| .input-group-lg input[type="datetime-local"], | |
| .input-group-lg input[type="month"] { | |
| line-height: 45px; | |
| } | |
| } | |
| .form-group { | |
| margin-bottom: 15px; | |
| } | |
| .radio, | |
| .checkbox { | |
| position: relative; | |
| display: block; | |
| margin-top: 10px; | |
| margin-bottom: 10px; | |
| } | |
| .radio label, | |
| .checkbox label { | |
| min-height: 18px; | |
| padding-left: 20px; | |
| margin-bottom: 0; | |
| font-weight: normal; | |
| cursor: pointer; | |
| } | |
| .radio input[type="radio"], | |
| .radio-inline input[type="radio"], | |
| .checkbox input[type="checkbox"], | |
| .checkbox-inline input[type="checkbox"] { | |
| position: absolute; | |
| margin-left: -20px; | |
| margin-top: 4px \9; | |
| } | |
| .radio + .radio, | |
| .checkbox + .checkbox { | |
| margin-top: -5px; | |
| } | |
| .radio-inline, | |
| .checkbox-inline { | |
| position: relative; | |
| display: inline-block; | |
| padding-left: 20px; | |
| margin-bottom: 0; | |
| vertical-align: middle; | |
| font-weight: normal; | |
| cursor: pointer; | |
| } | |
| .radio-inline + .radio-inline, | |
| .checkbox-inline + .checkbox-inline { | |
| margin-top: 0; | |
| margin-left: 10px; | |
| } | |
| input[type="radio"][disabled], | |
| input[type="checkbox"][disabled], | |
| input[type="radio"].disabled, | |
| input[type="checkbox"].disabled, | |
| fieldset[disabled] input[type="radio"], | |
| fieldset[disabled] input[type="checkbox"] { | |
| cursor: not-allowed; | |
| } | |
| .radio-inline.disabled, | |
| .checkbox-inline.disabled, | |
| fieldset[disabled] .radio-inline, | |
| fieldset[disabled] .checkbox-inline { | |
| cursor: not-allowed; | |
| } | |
| .radio.disabled label, | |
| .checkbox.disabled label, | |
| fieldset[disabled] .radio label, | |
| fieldset[disabled] .checkbox label { | |
| cursor: not-allowed; | |
| } | |
| .form-control-static { | |
| padding-top: 7px; | |
| padding-bottom: 7px; | |
| margin-bottom: 0; | |
| min-height: 31px; | |
| } | |
| .form-control-static.input-lg, | |
| .form-control-static.input-sm { | |
| padding-left: 0; | |
| padding-right: 0; | |
| } | |
| .input-sm { | |
| height: 30px; | |
| padding: 5px 10px; | |
| font-size: 12px; | |
| line-height: 1.5; | |
| border-radius: 1px; | |
| } | |
| select.input-sm { | |
| height: 30px; | |
| line-height: 30px; | |
| } | |
| textarea.input-sm, | |
| select[multiple].input-sm { | |
| height: auto; | |
| } | |
| .form-group-sm .form-control { | |
| height: 30px; | |
| padding: 5px 10px; | |
| font-size: 12px; | |
| line-height: 1.5; | |
| border-radius: 1px; | |
| } | |
| .form-group-sm select.form-control { | |
| height: 30px; | |
| line-height: 30px; | |
| } | |
| .form-group-sm textarea.form-control, | |
| .form-group-sm select[multiple].form-control { | |
| height: auto; | |
| } | |
| .form-group-sm .form-control-static { | |
| height: 30px; | |
| min-height: 30px; | |
| padding: 6px 10px; | |
| font-size: 12px; | |
| line-height: 1.5; | |
| } | |
| .input-lg { | |
| height: 45px; | |
| padding: 10px 16px; | |
| font-size: 17px; | |
| line-height: 1.3333333; | |
| border-radius: 3px; | |
| } | |
| select.input-lg { | |
| height: 45px; | |
| line-height: 45px; | |
| } | |
| textarea.input-lg, | |
| select[multiple].input-lg { | |
| height: auto; | |
| } | |
| .form-group-lg .form-control { | |
| height: 45px; | |
| padding: 10px 16px; | |
| font-size: 17px; | |
| line-height: 1.3333333; | |
| border-radius: 3px; | |
| } | |
| .form-group-lg select.form-control { | |
| height: 45px; | |
| line-height: 45px; | |
| } | |
| .form-group-lg textarea.form-control, | |
| .form-group-lg select[multiple].form-control { | |
| height: auto; | |
| } | |
| .form-group-lg .form-control-static { | |
| height: 45px; | |
| min-height: 35px; | |
| padding: 11px 16px; | |
| font-size: 17px; | |
| line-height: 1.3333333; | |
| } | |
| .has-feedback { | |
| position: relative; | |
| } | |
| .has-feedback .form-control { | |
| padding-right: 40px; | |
| } | |
| .form-control-feedback { | |
| position: absolute; | |
| top: 0; | |
| right: 0; | |
| z-index: 2; | |
| display: block; | |
| width: 32px; | |
| height: 32px; | |
| line-height: 32px; | |
| text-align: center; | |
| pointer-events: none; | |
| } | |
| .input-lg + .form-control-feedback, | |
| .input-group-lg + .form-control-feedback, | |
| .form-group-lg .form-control + .form-control-feedback { | |
| width: 45px; | |
| height: 45px; | |
| line-height: 45px; | |
| } | |
| .input-sm + .form-control-feedback, | |
| .input-group-sm + .form-control-feedback, | |
| .form-group-sm .form-control + .form-control-feedback { | |
| width: 30px; | |
| height: 30px; | |
| line-height: 30px; | |
| } | |
| .has-success .help-block, | |
| .has-success .control-label, | |
| .has-success .radio, | |
| .has-success .checkbox, | |
| .has-success .radio-inline, | |
| .has-success .checkbox-inline, | |
| .has-success.radio label, | |
| .has-success.checkbox label, | |
| .has-success.radio-inline label, | |
| .has-success.checkbox-inline label { | |
| color: #3c763d; | |
| } | |
| .has-success .form-control { | |
| border-color: #3c763d; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
| box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
| } | |
| .has-success .form-control:focus { | |
| border-color: #2b542c; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; | |
| box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; | |
| } | |
| .has-success .input-group-addon { | |
| color: #3c763d; | |
| border-color: #3c763d; | |
| background-color: #dff0d8; | |
| } | |
| .has-success .form-control-feedback { | |
| color: #3c763d; | |
| } | |
| .has-warning .help-block, | |
| .has-warning .control-label, | |
| .has-warning .radio, | |
| .has-warning .checkbox, | |
| .has-warning .radio-inline, | |
| .has-warning .checkbox-inline, | |
| .has-warning.radio label, | |
| .has-warning.checkbox label, | |
| .has-warning.radio-inline label, | |
| .has-warning.checkbox-inline label { | |
| color: #8a6d3b; | |
| } | |
| .has-warning .form-control { | |
| border-color: #8a6d3b; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
| box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
| } | |
| .has-warning .form-control:focus { | |
| border-color: #66512c; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; | |
| box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; | |
| } | |
| .has-warning .input-group-addon { | |
| color: #8a6d3b; | |
| border-color: #8a6d3b; | |
| background-color: #fcf8e3; | |
| } | |
| .has-warning .form-control-feedback { | |
| color: #8a6d3b; | |
| } | |
| .has-error .help-block, | |
| .has-error .control-label, | |
| .has-error .radio, | |
| .has-error .checkbox, | |
| .has-error .radio-inline, | |
| .has-error .checkbox-inline, | |
| .has-error.radio label, | |
| .has-error.checkbox label, | |
| .has-error.radio-inline label, | |
| .has-error.checkbox-inline label { | |
| color: #a94442; | |
| } | |
| .has-error .form-control { | |
| border-color: #a94442; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
| box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
| } | |
| .has-error .form-control:focus { | |
| border-color: #843534; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; | |
| box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; | |
| } | |
| .has-error .input-group-addon { | |
| color: #a94442; | |
| border-color: #a94442; | |
| background-color: #f2dede; | |
| } | |
| .has-error .form-control-feedback { | |
| color: #a94442; | |
| } | |
| .has-feedback label ~ .form-control-feedback { | |
| top: 23px; | |
| } | |
| .has-feedback label.sr-only ~ .form-control-feedback { | |
| top: 0; | |
| } | |
| .help-block { | |
| display: block; | |
| margin-top: 5px; | |
| margin-bottom: 10px; | |
| color: #404040; | |
| } | |
| @media (min-width: 768px) { | |
| .form-inline .form-group { | |
| display: inline-block; | |
| margin-bottom: 0; | |
| vertical-align: middle; | |
| } | |
| .form-inline .form-control { | |
| display: inline-block; | |
| width: auto; | |
| vertical-align: middle; | |
| } | |
| .form-inline .form-control-static { | |
| display: inline-block; | |
| } | |
| .form-inline .input-group { | |
| display: inline-table; | |
| vertical-align: middle; | |
| } | |
| .form-inline .input-group .input-group-addon, | |
| .form-inline .input-group .input-group-btn, | |
| .form-inline .input-group .form-control { | |
| width: auto; | |
| } | |
| .form-inline .input-group > .form-control { | |
| width: 100%; | |
| } | |
| .form-inline .control-label { | |
| margin-bottom: 0; | |
| vertical-align: middle; | |
| } | |
| .form-inline .radio, | |
| .form-inline .checkbox { | |
| display: inline-block; | |
| margin-top: 0; | |
| margin-bottom: 0; | |
| vertical-align: middle; | |
| } | |
| .form-inline .radio label, | |
| .form-inline .checkbox label { | |
| padding-left: 0; | |
| } | |
| .form-inline .radio input[type="radio"], | |
| .form-inline .checkbox input[type="checkbox"] { | |
| position: relative; | |
| margin-left: 0; | |
| } | |
| .form-inline .has-feedback .form-control-feedback { | |
| top: 0; | |
| } | |
| } | |
| .form-horizontal .radio, | |
| .form-horizontal .checkbox, | |
| .form-horizontal .radio-inline, | |
| .form-horizontal .checkbox-inline { | |
| margin-top: 0; | |
| margin-bottom: 0; | |
| padding-top: 7px; | |
| } | |
| .form-horizontal .radio, | |
| .form-horizontal .checkbox { | |
| min-height: 25px; | |
| } | |
| .form-horizontal .form-group { | |
| margin-left: 0px; | |
| margin-right: 0px; | |
| } | |
| @media (min-width: 768px) { | |
| .form-horizontal .control-label { | |
| text-align: right; | |
| margin-bottom: 0; | |
| padding-top: 7px; | |
| } | |
| } | |
| .form-horizontal .has-feedback .form-control-feedback { | |
| right: 0px; | |
| } | |
| @media (min-width: 768px) { | |
| .form-horizontal .form-group-lg .control-label { | |
| padding-top: 11px; | |
| font-size: 17px; | |
| } | |
| } | |
| @media (min-width: 768px) { | |
| .form-horizontal .form-group-sm .control-label { | |
| padding-top: 6px; | |
| font-size: 12px; | |
| } | |
| } | |
| .btn { | |
| display: inline-block; | |
| margin-bottom: 0; | |
| font-weight: normal; | |
| text-align: center; | |
| vertical-align: middle; | |
| touch-action: manipulation; | |
| cursor: pointer; | |
| background-image: none; | |
| border: 1px solid transparent; | |
| white-space: nowrap; | |
| padding: 6px 12px; | |
| font-size: 13px; | |
| line-height: 1.42857143; | |
| border-radius: 2px; | |
| -webkit-user-select: none; | |
| -moz-user-select: none; | |
| -ms-user-select: none; | |
| user-select: none; | |
| } | |
| .btn:focus, | |
| .btn:active:focus, | |
| .btn.active:focus, | |
| .btn.focus, | |
| .btn:active.focus, | |
| .btn.active.focus { | |
| outline: 5px auto -webkit-focus-ring-color; | |
| outline-offset: -2px; | |
| } | |
| .btn:hover, | |
| .btn:focus, | |
| .btn.focus { | |
| color: #333; | |
| text-decoration: none; | |
| } | |
| .btn:active, | |
| .btn.active { | |
| outline: 0; | |
| background-image: none; | |
| -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); | |
| box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); | |
| } | |
| .btn.disabled, | |
| .btn[disabled], | |
| fieldset[disabled] .btn { | |
| cursor: not-allowed; | |
| opacity: 0.65; | |
| filter: alpha(opacity=65); | |
| -webkit-box-shadow: none; | |
| box-shadow: none; | |
| } | |
| a.btn.disabled, | |
| fieldset[disabled] a.btn { | |
| pointer-events: none; | |
| } | |
| .btn-default { | |
| color: #333; | |
| background-color: #fff; | |
| border-color: #ccc; | |
| } | |
| .btn-default:focus, | |
| .btn-default.focus { | |
| color: #333; | |
| background-color: #e6e6e6; | |
| border-color: #8c8c8c; | |
| } | |
| .btn-default:hover { | |
| color: #333; | |
| background-color: #e6e6e6; | |
| border-color: #adadad; | |
| } | |
| .btn-default:active, | |
| .btn-default.active, | |
| .open > .dropdown-toggle.btn-default { | |
| color: #333; | |
| background-color: #e6e6e6; | |
| border-color: #adadad; | |
| } | |
| .btn-default:active:hover, | |
| .btn-default.active:hover, | |
| .open > .dropdown-toggle.btn-default:hover, | |
| .btn-default:active:focus, | |
| .btn-default.active:focus, | |
| .open > .dropdown-toggle.btn-default:focus, | |
| .btn-default:active.focus, | |
| .btn-default.active.focus, | |
| .open > .dropdown-toggle.btn-default.focus { | |
| color: #333; | |
| background-color: #d4d4d4; | |
| border-color: #8c8c8c; | |
| } | |
| .btn-default:active, | |
| .btn-default.active, | |
| .open > .dropdown-toggle.btn-default { | |
| background-image: none; | |
| } | |
| .btn-default.disabled:hover, | |
| .btn-default[disabled]:hover, | |
| fieldset[disabled] .btn-default:hover, | |
| .btn-default.disabled:focus, | |
| .btn-default[disabled]:focus, | |
| fieldset[disabled] .btn-default:focus, | |
| .btn-default.disabled.focus, | |
| .btn-default[disabled].focus, | |
| fieldset[disabled] .btn-default.focus { | |
| background-color: #fff; | |
| border-color: #ccc; | |
| } | |
| .btn-default .badge { | |
| color: #fff; | |
| background-color: #333; | |
| } | |
| .btn-primary { | |
| color: #fff; | |
| background-color: #337ab7; | |
| border-color: #2e6da4; | |
| } | |
| .btn-primary:focus, | |
| .btn-primary.focus { | |
| color: #fff; | |
| background-color: #286090; | |
| border-color: #122b40; | |
| } | |
| .btn-primary:hover { | |
| color: #fff; | |
| background-color: #286090; | |
| border-color: #204d74; | |
| } | |
| .btn-primary:active, | |
| .btn-primary.active, | |
| .open > .dropdown-toggle.btn-primary { | |
| color: #fff; | |
| background-color: #286090; | |
| border-color: #204d74; | |
| } | |
| .btn-primary:active:hover, | |
| .btn-primary.active:hover, | |
| .open > .dropdown-toggle.btn-primary:hover, | |
| .btn-primary:active:focus, | |
| .btn-primary.active:focus, | |
| .open > .dropdown-toggle.btn-primary:focus, | |
| .btn-primary:active.focus, | |
| .btn-primary.active.focus, | |
| .open > .dropdown-toggle.btn-primary.focus { | |
| color: #fff; | |
| background-color: #204d74; | |
| border-color: #122b40; | |
| } | |
| .btn-primary:active, | |
| .btn-primary.active, | |
| .open > .dropdown-toggle.btn-primary { | |
| background-image: none; | |
| } | |
| .btn-primary.disabled:hover, | |
| .btn-primary[disabled]:hover, | |
| fieldset[disabled] .btn-primary:hover, | |
| .btn-primary.disabled:focus, | |
| .btn-primary[disabled]:focus, | |
| fieldset[disabled] .btn-primary:focus, | |
| .btn-primary.disabled.focus, | |
| .btn-primary[disabled].focus, | |
| fieldset[disabled] .btn-primary.focus { | |
| background-color: #337ab7; | |
| border-color: #2e6da4; | |
| } | |
| .btn-primary .badge { | |
| color: #337ab7; | |
| background-color: #fff; | |
| } | |
| .btn-success { | |
| color: #fff; | |
| background-color: #5cb85c; | |
| border-color: #4cae4c; | |
| } | |
| .btn-success:focus, | |
| .btn-success.focus { | |
| color: #fff; | |
| background-color: #449d44; | |
| border-color: #255625; | |
| } | |
| .btn-success:hover { | |
| color: #fff; | |
| background-color: #449d44; | |
| border-color: #398439; | |
| } | |
| .btn-success:active, | |
| .btn-success.active, | |
| .open > .dropdown-toggle.btn-success { | |
| color: #fff; | |
| background-color: #449d44; | |
| border-color: #398439; | |
| } | |
| .btn-success:active:hover, | |
| .btn-success.active:hover, | |
| .open > .dropdown-toggle.btn-success:hover, | |
| .btn-success:active:focus, | |
| .btn-success.active:focus, | |
| .open > .dropdown-toggle.btn-success:focus, | |
| .btn-success:active.focus, | |
| .btn-success.active.focus, | |
| .open > .dropdown-toggle.btn-success.focus { | |
| color: #fff; | |
| background-color: #398439; | |
| border-color: #255625; | |
| } | |
| .btn-success:active, | |
| .btn-success.active, | |
| .open > .dropdown-toggle.btn-success { | |
| background-image: none; | |
| } | |
| .btn-success.disabled:hover, | |
| .btn-success[disabled]:hover, | |
| fieldset[disabled] .btn-success:hover, | |
| .btn-success.disabled:focus, | |
| .btn-success[disabled]:focus, | |
| fieldset[disabled] .btn-success:focus, | |
| .btn-success.disabled.focus, | |
| .btn-success[disabled].focus, | |
| fieldset[disabled] .btn-success.focus { | |
| background-color: #5cb85c; | |
| border-color: #4cae4c; | |
| } | |
| .btn-success .badge { | |
| color: #5cb85c; | |
| background-color: #fff; | |
| } | |
| .btn-info { | |
| color: #fff; | |
| background-color: #5bc0de; | |
| border-color: #46b8da; | |
| } | |
| .btn-info:focus, | |
| .btn-info.focus { | |
| color: #fff; | |
| background-color: #31b0d5; | |
| border-color: #1b6d85; | |
| } | |
| .btn-info:hover { | |
| color: #fff; | |
| background-color: #31b0d5; | |
| border-color: #269abc; | |
| } | |
| .btn-info:active, | |
| .btn-info.active, | |
| .open > .dropdown-toggle.btn-info { | |
| color: #fff; | |
| background-color: #31b0d5; | |
| border-color: #269abc; | |
| } | |
| .btn-info:active:hover, | |
| .btn-info.active:hover, | |
| .open > .dropdown-toggle.btn-info:hover, | |
| .btn-info:active:focus, | |
| .btn-info.active:focus, | |
| .open > .dropdown-toggle.btn-info:focus, | |
| .btn-info:active.focus, | |
| .btn-info.active.focus, | |
| .open > .dropdown-toggle.btn-info.focus { | |
| color: #fff; | |
| background-color: #269abc; | |
| border-color: #1b6d85; | |
| } | |
| .btn-info:active, | |
| .btn-info.active, | |
| .open > .dropdown-toggle.btn-info { | |
| background-image: none; | |
| } | |
| .btn-info.disabled:hover, | |
| .btn-info[disabled]:hover, | |
| fieldset[disabled] .btn-info:hover, | |
| .btn-info.disabled:focus, | |
| .btn-info[disabled]:focus, | |
| fieldset[disabled] .btn-info:focus, | |
| .btn-info.disabled.focus, | |
| .btn-info[disabled].focus, | |
| fieldset[disabled] .btn-info.focus { | |
| background-color: #5bc0de; | |
| border-color: #46b8da; | |
| } | |
| .btn-info .badge { | |
| color: #5bc0de; | |
| background-color: #fff; | |
| } | |
| .btn-warning { | |
| color: #fff; | |
| background-color: #f0ad4e; | |
| border-color: #eea236; | |
| } | |
| .btn-warning:focus, | |
| .btn-warning.focus { | |
| color: #fff; | |
| background-color: #ec971f; | |
| border-color: #985f0d; | |
| } | |
| .btn-warning:hover { | |
| color: #fff; | |
| background-color: #ec971f; | |
| border-color: #d58512; | |
| } | |
| .btn-warning:active, | |
| .btn-warning.active, | |
| .open > .dropdown-toggle.btn-warning { | |
| color: #fff; | |
| background-color: #ec971f; | |
| border-color: #d58512; | |
| } | |
| .btn-warning:active:hover, | |
| .btn-warning.active:hover, | |
| .open > .dropdown-toggle.btn-warning:hover, | |
| .btn-warning:active:focus, | |
| .btn-warning.active:focus, | |
| .open > .dropdown-toggle.btn-warning:focus, | |
| .btn-warning:active.focus, | |
| .btn-warning.active.focus, | |
| .open > .dropdown-toggle.btn-warning.focus { | |
| color: #fff; | |
| background-color: #d58512; | |
| border-color: #985f0d; | |
| } | |
| .btn-warning:active, | |
| .btn-warning.active, | |
| .open > .dropdown-toggle.btn-warning { | |
| background-image: none; | |
| } | |
| .btn-warning.disabled:hover, | |
| .btn-warning[disabled]:hover, | |
| fieldset[disabled] .btn-warning:hover, | |
| .btn-warning.disabled:focus, | |
| .btn-warning[disabled]:focus, | |
| fieldset[disabled] .btn-warning:focus, | |
| .btn-warning.disabled.focus, | |
| .btn-warning[disabled].focus, | |
| fieldset[disabled] .btn-warning.focus { | |
| background-color: #f0ad4e; | |
| border-color: #eea236; | |
| } | |
| .btn-warning .badge { | |
| color: #f0ad4e; | |
| background-color: #fff; | |
| } | |
| .btn-danger { | |
| color: #fff; | |
| background-color: #d9534f; | |
| border-color: #d43f3a; | |
| } | |
| .btn-danger:focus, | |
| .btn-danger.focus { | |
| color: #fff; | |
| background-color: #c9302c; | |
| border-color: #761c19; | |
| } | |
| .btn-danger:hover { | |
| color: #fff; | |
| background-color: #c9302c; | |
| border-color: #ac2925; | |
| } | |
| .btn-danger:active, | |
| .btn-danger.active, | |
| .open > .dropdown-toggle.btn-danger { | |
| color: #fff; | |
| background-color: #c9302c; | |
| border-color: #ac2925; | |
| } | |
| .btn-danger:active:hover, | |
| .btn-danger.active:hover, | |
| .open > .dropdown-toggle.btn-danger:hover, | |
| .btn-danger:active:focus, | |
| .btn-danger.active:focus, | |
| .open > .dropdown-toggle.btn-danger:focus, | |
| .btn-danger:active.focus, | |
| .btn-danger.active.focus, | |
| .open > .dropdown-toggle.btn-danger.focus { | |
| color: #fff; | |
| background-color: #ac2925; | |
| border-color: #761c19; | |
| } | |
| .btn-danger:active, | |
| .btn-danger.active, | |
| .open > .dropdown-toggle.btn-danger { | |
| background-image: none; | |
| } | |
| .btn-danger.disabled:hover, | |
| .btn-danger[disabled]:hover, | |
| fieldset[disabled] .btn-danger:hover, | |
| .btn-danger.disabled:focus, | |
| .btn-danger[disabled]:focus, | |
| fieldset[disabled] .btn-danger:focus, | |
| .btn-danger.disabled.focus, | |
| .btn-danger[disabled].focus, | |
| fieldset[disabled] .btn-danger.focus { | |
| background-color: #d9534f; | |
| border-color: #d43f3a; | |
| } | |
| .btn-danger .badge { | |
| color: #d9534f; | |
| background-color: #fff; | |
| } | |
| .btn-link { | |
| color: #337ab7; | |
| font-weight: normal; | |
| border-radius: 0; | |
| } | |
| .btn-link, | |
| .btn-link:active, | |
| .btn-link.active, | |
| .btn-link[disabled], | |
| fieldset[disabled] .btn-link { | |
| background-color: transparent; | |
| -webkit-box-shadow: none; | |
| box-shadow: none; | |
| } | |
| .btn-link, | |
| .btn-link:hover, | |
| .btn-link:focus, | |
| .btn-link:active { | |
| border-color: transparent; | |
| } | |
| .btn-link:hover, | |
| .btn-link:focus { | |
| color: #23527c; | |
| text-decoration: underline; | |
| background-color: transparent; | |
| } | |
| .btn-link[disabled]:hover, | |
| fieldset[disabled] .btn-link:hover, | |
| .btn-link[disabled]:focus, | |
| fieldset[disabled] .btn-link:focus { | |
| color: #777777; | |
| text-decoration: none; | |
| } | |
| .btn-lg, | |
| .btn-group-lg > .btn { | |
| padding: 10px 16px; | |
| font-size: 17px; | |
| line-height: 1.3333333; | |
| border-radius: 3px; | |
| } | |
| .btn-sm, | |
| .btn-group-sm > .btn { | |
| padding: 5px 10px; | |
| font-size: 12px; | |
| line-height: 1.5; | |
| border-radius: 1px; | |
| } | |
| .btn-xs, | |
| .btn-group-xs > .btn { | |
| padding: 1px 5px; | |
| font-size: 12px; | |
| line-height: 1.5; | |
| border-radius: 1px; | |
| } | |
| .btn-block { | |
| display: block; | |
| width: 100%; | |
| } | |
| .btn-block + .btn-block { | |
| margin-top: 5px; | |
| } | |
| input[type="submit"].btn-block, | |
| input[type="reset"].btn-block, | |
| input[type="button"].btn-block { | |
| width: 100%; | |
| } | |
| .fade { | |
| opacity: 0; | |
| -webkit-transition: opacity 0.15s linear; | |
| -o-transition: opacity 0.15s linear; | |
| transition: opacity 0.15s linear; | |
| } | |
| .fade.in { | |
| opacity: 1; | |
| } | |
| .collapse { | |
| display: none; | |
| } | |
| .collapse.in { | |
| display: block; | |
| } | |
| tr.collapse.in { | |
| display: table-row; | |
| } | |
| tbody.collapse.in { | |
| display: table-row-group; | |
| } | |
| .collapsing { | |
| position: relative; | |
| height: 0; | |
| overflow: hidden; | |
| -webkit-transition-property: height, visibility; | |
| transition-property: height, visibility; | |
| -webkit-transition-duration: 0.35s; | |
| transition-duration: 0.35s; | |
| -webkit-transition-timing-function: ease; | |
| transition-timing-function: ease; | |
| } | |
| .caret { | |
| display: inline-block; | |
| width: 0; | |
| height: 0; | |
| margin-left: 2px; | |
| vertical-align: middle; | |
| border-top: 4px dashed; | |
| border-top: 4px solid \9; | |
| border-right: 4px solid transparent; | |
| border-left: 4px solid transparent; | |
| } | |
| .dropup, | |
| .dropdown { | |
| position: relative; | |
| } | |
| .dropdown-toggle:focus { | |
| outline: 0; | |
| } | |
| .dropdown-menu { | |
| position: absolute; | |
| top: 100%; | |
| left: 0; | |
| z-index: 1000; | |
| display: none; | |
| float: left; | |
| min-width: 160px; | |
| padding: 5px 0; | |
| margin: 2px 0 0; | |
| list-style: none; | |
| font-size: 13px; | |
| text-align: left; | |
| background-color: #fff; | |
| border: 1px solid #ccc; | |
| border: 1px solid rgba(0, 0, 0, 0.15); | |
| border-radius: 2px; | |
| -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); | |
| box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); | |
| background-clip: padding-box; | |
| } | |
| .dropdown-menu.pull-right { | |
| right: 0; | |
| left: auto; | |
| } | |
| .dropdown-menu .divider { | |
| height: 1px; | |
| margin: 8px 0; | |
| overflow: hidden; | |
| background-color: #e5e5e5; | |
| } | |
| .dropdown-menu > li > a { | |
| display: block; | |
| padding: 3px 20px; | |
| clear: both; | |
| font-weight: normal; | |
| line-height: 1.42857143; | |
| color: #333333; | |
| white-space: nowrap; | |
| } | |
| .dropdown-menu > li > a:hover, | |
| .dropdown-menu > li > a:focus { | |
| text-decoration: none; | |
| color: #262626; | |
| background-color: #f5f5f5; | |
| } | |
| .dropdown-menu > .active > a, | |
| .dropdown-menu > .active > a:hover, | |
| .dropdown-menu > .active > a:focus { | |
| color: #fff; | |
| text-decoration: none; | |
| outline: 0; | |
| background-color: #337ab7; | |
| } | |
| .dropdown-menu > .disabled > a, | |
| .dropdown-menu > .disabled > a:hover, | |
| .dropdown-menu > .disabled > a:focus { | |
| color: #777777; | |
| } | |
| .dropdown-menu > .disabled > a:hover, | |
| .dropdown-menu > .disabled > a:focus { | |
| text-decoration: none; | |
| background-color: transparent; | |
| background-image: none; | |
| filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); | |
| cursor: not-allowed; | |
| } | |
| .open > .dropdown-menu { | |
| display: block; | |
| } | |
| .open > a { | |
| outline: 0; | |
| } | |
| .dropdown-menu-right { | |
| left: auto; | |
| right: 0; | |
| } | |
| .dropdown-menu-left { | |
| left: 0; | |
| right: auto; | |
| } | |
| .dropdown-header { | |
| display: block; | |
| padding: 3px 20px; | |
| font-size: 12px; | |
| line-height: 1.42857143; | |
| color: #777777; | |
| white-space: nowrap; | |
| } | |
| .dropdown-backdrop { | |
| position: fixed; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| top: 0; | |
| z-index: 990; | |
| } | |
| .pull-right > .dropdown-menu { | |
| right: 0; | |
| left: auto; | |
| } | |
| .dropup .caret, | |
| .navbar-fixed-bottom .dropdown .caret { | |
| border-top: 0; | |
| border-bottom: 4px dashed; | |
| border-bottom: 4px solid \9; | |
| content: ""; | |
| } | |
| .dropup .dropdown-menu, | |
| .navbar-fixed-bottom .dropdown .dropdown-menu { | |
| top: auto; | |
| bottom: 100%; | |
| margin-bottom: 2px; | |
| } | |
| @media (min-width: 541px) { | |
| .navbar-right .dropdown-menu { | |
| left: auto; | |
| right: 0; | |
| } | |
| .navbar-right .dropdown-menu-left { | |
| left: 0; | |
| right: auto; | |
| } | |
| } | |
| .btn-group, | |
| .btn-group-vertical { | |
| position: relative; | |
| display: inline-block; | |
| vertical-align: middle; | |
| } | |
| .btn-group > .btn, | |
| .btn-group-vertical > .btn { | |
| position: relative; | |
| float: left; | |
| } | |
| .btn-group > .btn:hover, | |
| .btn-group-vertical > .btn:hover, | |
| .btn-group > .btn:focus, | |
| .btn-group-vertical > .btn:focus, | |
| .btn-group > .btn:active, | |
| .btn-group-vertical > .btn:active, | |
| .btn-group > .btn.active, | |
| .btn-group-vertical > .btn.active { | |
| z-index: 2; | |
| } | |
| .btn-group .btn + .btn, | |
| .btn-group .btn + .btn-group, | |
| .btn-group .btn-group + .btn, | |
| .btn-group .btn-group + .btn-group { | |
| margin-left: -1px; | |
| } | |
| .btn-toolbar { | |
| margin-left: -5px; | |
| } | |
| .btn-toolbar .btn, | |
| .btn-toolbar .btn-group, | |
| .btn-toolbar .input-group { | |
| float: left; | |
| } | |
| .btn-toolbar > .btn, | |
| .btn-toolbar > .btn-group, | |
| .btn-toolbar > .input-group { | |
| margin-left: 5px; | |
| } | |
| .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { | |
| border-radius: 0; | |
| } | |
| .btn-group > .btn:first-child { | |
| margin-left: 0; | |
| } | |
| .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { | |
| border-bottom-right-radius: 0; | |
| border-top-right-radius: 0; | |
| } | |
| .btn-group > .btn:last-child:not(:first-child), | |
| .btn-group > .dropdown-toggle:not(:first-child) { | |
| border-bottom-left-radius: 0; | |
| border-top-left-radius: 0; | |
| } | |
| .btn-group > .btn-group { | |
| float: left; | |
| } | |
| .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { | |
| border-radius: 0; | |
| } | |
| .btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, | |
| .btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { | |
| border-bottom-right-radius: 0; | |
| border-top-right-radius: 0; | |
| } | |
| .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { | |
| border-bottom-left-radius: 0; | |
| border-top-left-radius: 0; | |
| } | |
| .btn-group .dropdown-toggle:active, | |
| .btn-group.open .dropdown-toggle { | |
| outline: 0; | |
| } | |
| .btn-group > .btn + .dropdown-toggle { | |
| padding-left: 8px; | |
| padding-right: 8px; | |
| } | |
| .btn-group > .btn-lg + .dropdown-toggle { | |
| padding-left: 12px; | |
| padding-right: 12px; | |
| } | |
| .btn-group.open .dropdown-toggle { | |
| -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); | |
| box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); | |
| } | |
| .btn-group.open .dropdown-toggle.btn-link { | |
| -webkit-box-shadow: none; | |
| box-shadow: none; | |
| } | |
| .btn .caret { | |
| margin-left: 0; | |
| } | |
| .btn-lg .caret { | |
| border-width: 5px 5px 0; | |
| border-bottom-width: 0; | |
| } | |
| .dropup .btn-lg .caret { | |
| border-width: 0 5px 5px; | |
| } | |
| .btn-group-vertical > .btn, | |
| .btn-group-vertical > .btn-group, | |
| .btn-group-vertical > .btn-group > .btn { | |
| display: block; | |
| float: none; | |
| width: 100%; | |
| max-width: 100%; | |
| } | |
| .btn-group-vertical > .btn-group > .btn { | |
| float: none; | |
| } | |
| .btn-group-vertical > .btn + .btn, | |
| .btn-group-vertical > .btn + .btn-group, | |
| .btn-group-vertical > .btn-group + .btn, | |
| .btn-group-vertical > .btn-group + .btn-group { | |
| margin-top: -1px; | |
| margin-left: 0; | |
| } | |
| .btn-group-vertical > .btn:not(:first-child):not(:last-child) { | |
| border-radius: 0; | |
| } | |
| .btn-group-vertical > .btn:first-child:not(:last-child) { | |
| border-top-right-radius: 2px; | |
| border-top-left-radius: 2px; | |
| border-bottom-right-radius: 0; | |
| border-bottom-left-radius: 0; | |
| } | |
| .btn-group-vertical > .btn:last-child:not(:first-child) { | |
| border-top-right-radius: 0; | |
| border-top-left-radius: 0; | |
| border-bottom-right-radius: 2px; | |
| border-bottom-left-radius: 2px; | |
| } | |
| .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { | |
| border-radius: 0; | |
| } | |
| .btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, | |
| .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { | |
| border-bottom-right-radius: 0; | |
| border-bottom-left-radius: 0; | |
| } | |
| .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { | |
| border-top-right-radius: 0; | |
| border-top-left-radius: 0; | |
| } | |
| .btn-group-justified { | |
| display: table; | |
| width: 100%; | |
| table-layout: fixed; | |
| border-collapse: separate; | |
| } | |
| .btn-group-justified > .btn, | |
| .btn-group-justified > .btn-group { | |
| float: none; | |
| display: table-cell; | |
| width: 1%; | |
| } | |
| .btn-group-justified > .btn-group .btn { | |
| width: 100%; | |
| } | |
| .btn-group-justified > .btn-group .dropdown-menu { | |
| left: auto; | |
| } | |
| [data-toggle="buttons"] > .btn input[type="radio"], | |
| [data-toggle="buttons"] > .btn-group > .btn input[type="radio"], | |
| [data-toggle="buttons"] > .btn input[type="checkbox"], | |
| [data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { | |
| position: absolute; | |
| clip: rect(0, 0, 0, 0); | |
| pointer-events: none; | |
| } | |
| .input-group { | |
| position: relative; | |
| display: table; | |
| border-collapse: separate; | |
| } | |
| .input-group[class*="col-"] { | |
| float: none; | |
| padding-left: 0; | |
| padding-right: 0; | |
| } | |
| .input-group .form-control { | |
| position: relative; | |
| z-index: 2; | |
| float: left; | |
| width: 100%; | |
| margin-bottom: 0; | |
| } | |
| .input-group .form-control:focus { | |
| z-index: 3; | |
| } | |
| .input-group-lg > .form-control, | |
| .input-group-lg > .input-group-addon, | |
| .input-group-lg > .input-group-btn > .btn { | |
| height: 45px; | |
| padding: 10px 16px; | |
| font-size: 17px; | |
| line-height: 1.3333333; | |
| border-radius: 3px; | |
| } | |
| select.input-group-lg > .form-control, | |
| select.input-group-lg > .input-group-addon, | |
| select.input-group-lg > .input-group-btn > .btn { | |
| height: 45px; | |
| line-height: 45px; | |
| } | |
| textarea.input-group-lg > .form-control, | |
| textarea.input-group-lg > .input-group-addon, | |
| textarea.input-group-lg > .input-group-btn > .btn, | |
| select[multiple].input-group-lg > .form-control, | |
| select[multiple].input-group-lg > .input-group-addon, | |
| select[multiple].input-group-lg > .input-group-btn > .btn { | |
| height: auto; | |
| } | |
| .input-group-sm > .form-control, | |
| .input-group-sm > .input-group-addon, | |
| .input-group-sm > .input-group-btn > .btn { | |
| height: 30px; | |
| padding: 5px 10px; | |
| font-size: 12px; | |
| line-height: 1.5; | |
| border-radius: 1px; | |
| } | |
| select.input-group-sm > .form-control, | |
| select.input-group-sm > .input-group-addon, | |
| select.input-group-sm > .input-group-btn > .btn { | |
| height: 30px; | |
| line-height: 30px; | |
| } | |
| textarea.input-group-sm > .form-control, | |
| textarea.input-group-sm > .input-group-addon, | |
| textarea.input-group-sm > .input-group-btn > .btn, | |
| select[multiple].input-group-sm > .form-control, | |
| select[multiple].input-group-sm > .input-group-addon, | |
| select[multiple].input-group-sm > .input-group-btn > .btn { | |
| height: auto; | |
| } | |
| .input-group-addon, | |
| .input-group-btn, | |
| .input-group .form-control { | |
| display: table-cell; | |
| } | |
| .input-group-addon:not(:first-child):not(:last-child), | |
| .input-group-btn:not(:first-child):not(:last-child), | |
| .input-group .form-control:not(:first-child):not(:last-child) { | |
| border-radius: 0; | |
| } | |
| .input-group-addon, | |
| .input-group-btn { | |
| width: 1%; | |
| white-space: nowrap; | |
| vertical-align: middle; | |
| } | |
| .input-group-addon { | |
| padding: 6px 12px; | |
| font-size: 13px; | |
| font-weight: normal; | |
| line-height: 1; | |
| color: #555555; | |
| text-align: center; | |
| background-color: #eeeeee; | |
| border: 1px solid #ccc; | |
| border-radius: 2px; | |
| } | |
| .input-group-addon.input-sm { | |
| padding: 5px 10px; | |
| font-size: 12px; | |
| border-radius: 1px; | |
| } | |
| .input-group-addon.input-lg { | |
| padding: 10px 16px; | |
| font-size: 17px; | |
| border-radius: 3px; | |
| } | |
| .input-group-addon input[type="radio"], | |
| .input-group-addon input[type="checkbox"] { | |
| margin-top: 0; | |
| } | |
| .input-group .form-control:first-child, | |
| .input-group-addon:first-child, | |
| .input-group-btn:first-child > .btn, | |
| .input-group-btn:first-child > .btn-group > .btn, | |
| .input-group-btn:first-child > .dropdown-toggle, | |
| .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), | |
| .input-group-btn:last-child > .btn-group:not(:last-child) > .btn { | |
| border-bottom-right-radius: 0; | |
| border-top-right-radius: 0; | |
| } | |
| .input-group-addon:first-child { | |
| border-right: 0; | |
| } | |
| .input-group .form-control:last-child, | |
| .input-group-addon:last-child, | |
| .input-group-btn:last-child > .btn, | |
| .input-group-btn:last-child > .btn-group > .btn, | |
| .input-group-btn:last-child > .dropdown-toggle, | |
| .input-group-btn:first-child > .btn:not(:first-child), | |
| .input-group-btn:first-child > .btn-group:not(:first-child) > .btn { | |
| border-bottom-left-radius: 0; | |
| border-top-left-radius: 0; | |
| } | |
| .input-group-addon:last-child { | |
| border-left: 0; | |
| } | |
| .input-group-btn { | |
| position: relative; | |
| font-size: 0; | |
| white-space: nowrap; | |
| } | |
| .input-group-btn > .btn { | |
| position: relative; | |
| } | |
| .input-group-btn > .btn + .btn { | |
| margin-left: -1px; | |
| } | |
| .input-group-btn > .btn:hover, | |
| .input-group-btn > .btn:focus, | |
| .input-group-btn > .btn:active { | |
| z-index: 2; | |
| } | |
| .input-group-btn:first-child > .btn, | |
| .input-group-btn:first-child > .btn-group { | |
| margin-right: -1px; | |
| } | |
| .input-group-btn:last-child > .btn, | |
| .input-group-btn:last-child > .btn-group { | |
| z-index: 2; | |
| margin-left: -1px; | |
| } | |
| .nav { | |
| margin-bottom: 0; | |
| padding-left: 0; | |
| list-style: none; | |
| } | |
| .nav > li { | |
| position: relative; | |
| display: block; | |
| } | |
| .nav > li > a { | |
| position: relative; | |
| display: block; | |
| padding: 10px 15px; | |
| } | |
| .nav > li > a:hover, | |
| .nav > li > a:focus { | |
| text-decoration: none; | |
| background-color: #eeeeee; | |
| } | |
| .nav > li.disabled > a { | |
| color: #777777; | |
| } | |
| .nav > li.disabled > a:hover, | |
| .nav > li.disabled > a:focus { | |
| color: #777777; | |
| text-decoration: none; | |
| background-color: transparent; | |
| cursor: not-allowed; | |
| } | |
| .nav .open > a, | |
| .nav .open > a:hover, | |
| .nav .open > a:focus { | |
| background-color: #eeeeee; | |
| border-color: #337ab7; | |
| } | |
| .nav .nav-divider { | |
| height: 1px; | |
| margin: 8px 0; | |
| overflow: hidden; | |
| background-color: #e5e5e5; | |
| } | |
| .nav > li > a > img { | |
| max-width: none; | |
| } | |
| .nav-tabs { | |
| border-bottom: 1px solid #ddd; | |
| } | |
| .nav-tabs > li { | |
| float: left; | |
| margin-bottom: -1px; | |
| } | |
| .nav-tabs > li > a { | |
| margin-right: 2px; | |
| line-height: 1.42857143; | |
| border: 1px solid transparent; | |
| border-radius: 2px 2px 0 0; | |
| } | |
| .nav-tabs > li > a:hover { | |
| border-color: #eeeeee #eeeeee #ddd; | |
| } | |
| .nav-tabs > li.active > a, | |
| .nav-tabs > li.active > a:hover, | |
| .nav-tabs > li.active > a:focus { | |
| color: #555555; | |
| background-color: #fff; | |
| border: 1px solid #ddd; | |
| border-bottom-color: transparent; | |
| cursor: default; | |
| } | |
| .nav-tabs.nav-justified { | |
| width: 100%; | |
| border-bottom: 0; | |
| } | |
| .nav-tabs.nav-justified > li { | |
| float: none; | |
| } | |
| .nav-tabs.nav-justified > li > a { | |
| text-align: center; | |
| margin-bottom: 5px; | |
| } | |
| .nav-tabs.nav-justified > .dropdown .dropdown-menu { | |
| top: auto; | |
| left: auto; | |
| } | |
| @media (min-width: 768px) { | |
| .nav-tabs.nav-justified > li { | |
| display: table-cell; | |
| width: 1%; | |
| } | |
| .nav-tabs.nav-justified > li > a { | |
| margin-bottom: 0; | |
| } | |
| } | |
| .nav-tabs.nav-justified > li > a { | |
| margin-right: 0; | |
| border-radius: 2px; | |
| } | |
| .nav-tabs.nav-justified > .active > a, | |
| .nav-tabs.nav-justified > .active > a:hover, | |
| .nav-tabs.nav-justified > .active > a:focus { | |
| border: 1px solid #ddd; | |
| } | |
| @media (min-width: 768px) { | |
| .nav-tabs.nav-justified > li > a { | |
| border-bottom: 1px solid #ddd; | |
| border-radius: 2px 2px 0 0; | |
| } | |
| .nav-tabs.nav-justified > .active > a, | |
| .nav-tabs.nav-justified > .active > a:hover, | |
| .nav-tabs.nav-justified > .active > a:focus { | |
| border-bottom-color: #fff; | |
| } | |
| } | |
| .nav-pills > li { | |
| float: left; | |
| } | |
| .nav-pills > li > a { | |
| border-radius: 2px; | |
| } | |
| .nav-pills > li + li { | |
| margin-left: 2px; | |
| } | |
| .nav-pills > li.active > a, | |
| .nav-pills > li.active > a:hover, | |
| .nav-pills > li.active > a:focus { | |
| color: #fff; | |
| background-color: #337ab7; | |
| } | |
| .nav-stacked > li { | |
| float: none; | |
| } | |
| .nav-stacked > li + li { | |
| margin-top: 2px; | |
| margin-left: 0; | |
| } | |
| .nav-justified { | |
| width: 100%; | |
| } | |
| .nav-justified > li { | |
| float: none; | |
| } | |
| .nav-justified > li > a { | |
| text-align: center; | |
| margin-bottom: 5px; | |
| } | |
| .nav-justified > .dropdown .dropdown-menu { | |
| top: auto; | |
| left: auto; | |
| } | |
| @media (min-width: 768px) { | |
| .nav-justified > li { | |
| display: table-cell; | |
| width: 1%; | |
| } | |
| .nav-justified > li > a { | |
| margin-bottom: 0; | |
| } | |
| } | |
| .nav-tabs-justified { | |
| border-bottom: 0; | |
| } | |
| .nav-tabs-justified > li > a { | |
| margin-right: 0; | |
| border-radius: 2px; | |
| } | |
| .nav-tabs-justified > .active > a, | |
| .nav-tabs-justified > .active > a:hover, | |
| .nav-tabs-justified > .active > a:focus { | |
| border: 1px solid #ddd; | |
| } | |
| @media (min-width: 768px) { | |
| .nav-tabs-justified > li > a { | |
| border-bottom: 1px solid #ddd; | |
| border-radius: 2px 2px 0 0; | |
| } | |
| .nav-tabs-justified > .active > a, | |
| .nav-tabs-justified > .active > a:hover, | |
| .nav-tabs-justified > .active > a:focus { | |
| border-bottom-color: #fff; | |
| } | |
| } | |
| .tab-content > .tab-pane { | |
| display: none; | |
| } | |
| .tab-content > .active { | |
| display: block; | |
| } | |
| .nav-tabs .dropdown-menu { | |
| margin-top: -1px; | |
| border-top-right-radius: 0; | |
| border-top-left-radius: 0; | |
| } | |
| .navbar { | |
| position: relative; | |
| min-height: 30px; | |
| margin-bottom: 18px; | |
| border: 1px solid transparent; | |
| } | |
| @media (min-width: 541px) { | |
| .navbar { | |
| border-radius: 2px; | |
| } | |
| } | |
| @media (min-width: 541px) { | |
| .navbar-header { | |
| float: left; | |
| } | |
| } | |
| .navbar-collapse { | |
| overflow-x: visible; | |
| padding-right: 0px; | |
| padding-left: 0px; | |
| border-top: 1px solid transparent; | |
| box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); | |
| -webkit-overflow-scrolling: touch; | |
| } | |
| .navbar-collapse.in { | |
| overflow-y: auto; | |
| } | |
| @media (min-width: 541px) { | |
| .navbar-collapse { | |
| width: auto; | |
| border-top: 0; | |
| box-shadow: none; | |
| } | |
| .navbar-collapse.collapse { | |
| display: block !important; | |
| height: auto !important; | |
| padding-bottom: 0; | |
| overflow: visible !important; | |
| } | |
| .navbar-collapse.in { | |
| overflow-y: visible; | |
| } | |
| .navbar-fixed-top .navbar-collapse, | |
| .navbar-static-top .navbar-collapse, | |
| .navbar-fixed-bottom .navbar-collapse { | |
| padding-left: 0; | |
| padding-right: 0; | |
| } | |
| } | |
| .navbar-fixed-top .navbar-collapse, | |
| .navbar-fixed-bottom .navbar-collapse { | |
| max-height: 340px; | |
| } | |
| @media (max-device-width: 540px) and (orientation: landscape) { | |
| .navbar-fixed-top .navbar-collapse, | |
| .navbar-fixed-bottom .navbar-collapse { | |
| max-height: 200px; | |
| } | |
| } | |
| .container > .navbar-header, | |
| .container-fluid > .navbar-header, | |
| .container > .navbar-collapse, | |
| .container-fluid > .navbar-collapse { | |
| margin-right: 0px; | |
| margin-left: 0px; | |
| } | |
| @media (min-width: 541px) { | |
| .container > .navbar-header, | |
| .container-fluid > .navbar-header, | |
| .container > .navbar-collapse, | |
| .container-fluid > .navbar-collapse { | |
| margin-right: 0; | |
| margin-left: 0; | |
| } | |
| } | |
| .navbar-static-top { | |
| z-index: 1000; | |
| border-width: 0 0 1px; | |
| } | |
| @media (min-width: 541px) { | |
| .navbar-static-top { | |
| border-radius: 0; | |
| } | |
| } | |
| .navbar-fixed-top, | |
| .navbar-fixed-bottom { | |
| position: fixed; | |
| right: 0; | |
| left: 0; | |
| z-index: 1030; | |
| } | |
| @media (min-width: 541px) { | |
| .navbar-fixed-top, | |
| .navbar-fixed-bottom { | |
| border-radius: 0; | |
| } | |
| } | |
| .navbar-fixed-top { | |
| top: 0; | |
| border-width: 0 0 1px; | |
| } | |
| .navbar-fixed-bottom { | |
| bottom: 0; | |
| margin-bottom: 0; | |
| border-width: 1px 0 0; | |
| } | |
| .navbar-brand { | |
| float: left; | |
| padding: 6px 0px; | |
| font-size: 17px; | |
| line-height: 18px; | |
| height: 30px; | |
| } | |
| .navbar-brand:hover, | |
| .navbar-brand:focus { | |
| text-decoration: none; | |
| } | |
| .navbar-brand > img { | |
| display: block; | |
| } | |
| @media (min-width: 541px) { | |
| .navbar > .container .navbar-brand, | |
| .navbar > .container-fluid .navbar-brand { | |
| margin-left: 0px; | |
| } | |
| } | |
| .navbar-toggle { | |
| position: relative; | |
| float: right; | |
| margin-right: 0px; | |
| padding: 9px 10px; | |
| margin-top: -2px; | |
| margin-bottom: -2px; | |
| background-color: transparent; | |
| background-image: none; | |
| border: 1px solid transparent; | |
| border-radius: 2px; | |
| } | |
| .navbar-toggle:focus { | |
| outline: 0; | |
| } | |
| .navbar-toggle .icon-bar { | |
| display: block; | |
| width: 22px; | |
| height: 2px; | |
| border-radius: 1px; | |
| } | |
| .navbar-toggle .icon-bar + .icon-bar { | |
| margin-top: 4px; | |
| } | |
| @media (min-width: 541px) { | |
| .navbar-toggle { | |
| display: none; | |
| } | |
| } | |
| .navbar-nav { | |
| margin: 3px 0px; | |
| } | |
| .navbar-nav > li > a { | |
| padding-top: 10px; | |
| padding-bottom: 10px; | |
| line-height: 18px; | |
| } | |
| @media (max-width: 540px) { | |
| .navbar-nav .open .dropdown-menu { | |
| position: static; | |
| float: none; | |
| width: auto; | |
| margin-top: 0; | |
| background-color: transparent; | |
| border: 0; | |
| box-shadow: none; | |
| } | |
| .navbar-nav .open .dropdown-menu > li > a, | |
| .navbar-nav .open .dropdown-menu .dropdown-header { | |
| padding: 5px 15px 5px 25px; | |
| } | |
| .navbar-nav .open .dropdown-menu > li > a { | |
| line-height: 18px; | |
| } | |
| .navbar-nav .open .dropdown-menu > li > a:hover, | |
| .navbar-nav .open .dropdown-menu > li > a:focus { | |
| background-image: none; | |
| } | |
| } | |
| @media (min-width: 541px) { | |
| .navbar-nav { | |
| float: left; | |
| margin: 0; | |
| } | |
| .navbar-nav > li { | |
| float: left; | |
| } | |
| .navbar-nav > li > a { | |
| padding-top: 6px; | |
| padding-bottom: 6px; | |
| } | |
| } | |
| .navbar-form { | |
| margin-left: 0px; | |
| margin-right: 0px; | |
| padding: 10px 0px; | |
| border-top: 1px solid transparent; | |
| border-bottom: 1px solid transparent; | |
| -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); | |
| box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); | |
| margin-top: -1px; | |
| margin-bottom: -1px; | |
| } | |
| @media (min-width: 768px) { | |
| .navbar-form .form-group { | |
| display: inline-block; | |
| margin-bottom: 0; | |
| vertical-align: middle; | |
| } | |
| .navbar-form .form-control { | |
| display: inline-block; | |
| width: auto; | |
| vertical-align: middle; | |
| } | |
| .navbar-form .form-control-static { | |
| display: inline-block; | |
| } | |
| .navbar-form .input-group { | |
| display: inline-table; | |
| vertical-align: middle; | |
| } | |
| .navbar-form .input-group .input-group-addon, | |
| .navbar-form .input-group .input-group-btn, | |
| .navbar-form .input-group .form-control { | |
| width: auto; | |
| } | |
| .navbar-form .input-group > .form-control { | |
| width: 100%; | |
| } | |
| .navbar-form .control-label { | |
| margin-bottom: 0; | |
| vertical-align: middle; | |
| } | |
| .navbar-form .radio, | |
| .navbar-form .checkbox { | |
| display: inline-block; | |
| margin-top: 0; | |
| margin-bottom: 0; | |
| vertical-align: middle; | |
| } | |
| .navbar-form .radio label, | |
| .navbar-form .checkbox label { | |
| padding-left: 0; | |
| } | |
| .navbar-form .radio input[type="radio"], | |
| .navbar-form .checkbox input[type="checkbox"] { | |
| position: relative; | |
| margin-left: 0; | |
| } | |
| .navbar-form .has-feedback .form-control-feedback { | |
| top: 0; | |
| } | |
| } | |
| @media (max-width: 540px) { | |
| .navbar-form .form-group { | |
| margin-bottom: 5px; | |
| } | |
| .navbar-form .form-group:last-child { | |
| margin-bottom: 0; | |
| } | |
| } | |
| @media (min-width: 541px) { | |
| .navbar-form { | |
| width: auto; | |
| border: 0; | |
| margin-left: 0; | |
| margin-right: 0; | |
| padding-top: 0; | |
| padding-bottom: 0; | |
| -webkit-box-shadow: none; | |
| box-shadow: none; | |
| } | |
| } | |
| .navbar-nav > li > .dropdown-menu { | |
| margin-top: 0; | |
| border-top-right-radius: 0; | |
| border-top-left-radius: 0; | |
| } | |
| .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { | |
| margin-bottom: 0; | |
| border-top-right-radius: 2px; | |
| border-top-left-radius: 2px; | |
| border-bottom-right-radius: 0; | |
| border-bottom-left-radius: 0; | |
| } | |
| .navbar-btn { | |
| margin-top: -1px; | |
| margin-bottom: -1px; | |
| } | |
| .navbar-btn.btn-sm { | |
| margin-top: 0px; | |
| margin-bottom: 0px; | |
| } | |
| .navbar-btn.btn-xs { | |
| margin-top: 4px; | |
| margin-bottom: 4px; | |
| } | |
| .navbar-text { | |
| margin-top: 6px; | |
| margin-bottom: 6px; | |
| } | |
| @media (min-width: 541px) { | |
| .navbar-text { | |
| float: left; | |
| margin-left: 0px; | |
| margin-right: 0px; | |
| } | |
| } | |
| @media (min-width: 541px) { | |
| .navbar-left { | |
| float: left !important; | |
| float: left; | |
| } | |
| .navbar-right { | |
| float: right !important; | |
| float: right; | |
| margin-right: 0px; | |
| } | |
| .navbar-right ~ .navbar-right { | |
| margin-right: 0; | |
| } | |
| } | |
| .navbar-default { | |
| background-color: #f8f8f8; | |
| border-color: #e7e7e7; | |
| } | |
| .navbar-default .navbar-brand { | |
| color: #777; | |
| } | |
| .navbar-default .navbar-brand:hover, | |
| .navbar-default .navbar-brand:focus { | |
| color: #5e5e5e; | |
| background-color: transparent; | |
| } | |
| .navbar-default .navbar-text { | |
| color: #777; | |
| } | |
| .navbar-default .navbar-nav > li > a { | |
| color: #777; | |
| } | |
| .navbar-default .navbar-nav > li > a:hover, | |
| .navbar-default .navbar-nav > li > a:focus { | |
| color: #333; | |
| background-color: transparent; | |
| } | |
| .navbar-default .navbar-nav > .active > a, | |
| .navbar-default .navbar-nav > .active > a:hover, | |
| .navbar-default .navbar-nav > .active > a:focus { | |
| color: #555; | |
| background-color: #e7e7e7; | |
| } | |
| .navbar-default .navbar-nav > .disabled > a, | |
| .navbar-default .navbar-nav > .disabled > a:hover, | |
| .navbar-default .navbar-nav > .disabled > a:focus { | |
| color: #ccc; | |
| background-color: transparent; | |
| } | |
| .navbar-default .navbar-toggle { | |
| border-color: #ddd; | |
| } | |
| .navbar-default .navbar-toggle:hover, | |
| .navbar-default .navbar-toggle:focus { | |
| background-color: #ddd; | |
| } | |
| .navbar-default .navbar-toggle .icon-bar { | |
| background-color: #888; | |
| } | |
| .navbar-default .navbar-collapse, | |
| .navbar-default .navbar-form { | |
| border-color: #e7e7e7; | |
| } | |
| .navbar-default .navbar-nav > .open > a, | |
| .navbar-default .navbar-nav > .open > a:hover, | |
| .navbar-default .navbar-nav > .open > a:focus { | |
| background-color: #e7e7e7; | |
| color: #555; | |
| } | |
| @media (max-width: 540px) { | |
| .navbar-default .navbar-nav .open .dropdown-menu > li > a { | |
| color: #777; | |
| } | |
| .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, | |
| .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { | |
| color: #333; | |
| background-color: transparent; | |
| } | |
| .navbar-default .navbar-nav .open .dropdown-menu > .active > a, | |
| .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, | |
| .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { | |
| color: #555; | |
| background-color: #e7e7e7; | |
| } | |
| .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, | |
| .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, | |
| .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { | |
| color: #ccc; | |
| background-color: transparent; | |
| } | |
| } | |
| .navbar-default .navbar-link { | |
| color: #777; | |
| } | |
| .navbar-default .navbar-link:hover { | |
| color: #333; | |
| } | |
| .navbar-default .btn-link { | |
| color: #777; | |
| } | |
| .navbar-default .btn-link:hover, | |
| .navbar-default .btn-link:focus { | |
| color: #333; | |
| } | |
| .navbar-default .btn-link[disabled]:hover, | |
| fieldset[disabled] .navbar-default .btn-link:hover, | |
| .navbar-default .btn-link[disabled]:focus, | |
| fieldset[disabled] .navbar-default .btn-link:focus { | |
| color: #ccc; | |
| } | |
| .navbar-inverse { | |
| background-color: #222; | |
| border-color: #080808; | |
| } | |
| .navbar-inverse .navbar-brand { | |
| color: #9d9d9d; | |
| } | |
| .navbar-inverse .navbar-brand:hover, | |
| .navbar-inverse .navbar-brand:focus { | |
| color: #fff; | |
| background-color: transparent; | |
| } | |
| .navbar-inverse .navbar-text { | |
| color: #9d9d9d; | |
| } | |
| .navbar-inverse .navbar-nav > li > a { | |
| color: #9d9d9d; | |
| } | |
| .navbar-inverse .navbar-nav > li > a:hover, | |
| .navbar-inverse .navbar-nav > li > a:focus { | |
| color: #fff; | |
| background-color: transparent; | |
| } | |
| .navbar-inverse .navbar-nav > .active > a, | |
| .navbar-inverse .navbar-nav > .active > a:hover, | |
| .navbar-inverse .navbar-nav > .active > a:focus { | |
| color: #fff; | |
| background-color: #080808; | |
| } | |
| .navbar-inverse .navbar-nav > .disabled > a, | |
| .navbar-inverse .navbar-nav > .disabled > a:hover, | |
| .navbar-inverse .navbar-nav > .disabled > a:focus { | |
| color: #444; | |
| background-color: transparent; | |
| } | |
| .navbar-inverse .navbar-toggle { | |
| border-color: #333; | |
| } | |
| .navbar-inverse .navbar-toggle:hover, | |
| .navbar-inverse .navbar-toggle:focus { | |
| background-color: #333; | |
| } | |
| .navbar-inverse .navbar-toggle .icon-bar { | |
| background-color: #fff; | |
| } | |
| .navbar-inverse .navbar-collapse, | |
| .navbar-inverse .navbar-form { | |
| border-color: #101010; | |
| } | |
| .navbar-inverse .navbar-nav > .open > a, | |
| .navbar-inverse .navbar-nav > .open > a:hover, | |
| .navbar-inverse .navbar-nav > .open > a:focus { | |
| background-color: #080808; | |
| color: #fff; | |
| } | |
| @media (max-width: 540px) { | |
| .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { | |
| border-color: #080808; | |
| } | |
| .navbar-inverse .navbar-nav .open .dropdown-menu .divider { | |
| background-color: #080808; | |
| } | |
| .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { | |
| color: #9d9d9d; | |
| } | |
| .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, | |
| .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { | |
| color: #fff; | |
| background-color: transparent; | |
| } | |
| .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, | |
| .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, | |
| .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { | |
| color: #fff; | |
| background-color: #080808; | |
| } | |
| .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, | |
| .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, | |
| .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { | |
| color: #444; | |
| background-color: transparent; | |
| } | |
| } | |
| .navbar-inverse .navbar-link { | |
| color: #9d9d9d; | |
| } | |
| .navbar-inverse .navbar-link:hover { | |
| color: #fff; | |
| } | |
| .navbar-inverse .btn-link { | |
| color: #9d9d9d; | |
| } | |
| .navbar-inverse .btn-link:hover, | |
| .navbar-inverse .btn-link:focus { | |
| color: #fff; | |
| } | |
| .navbar-inverse .btn-link[disabled]:hover, | |
| fieldset[disabled] .navbar-inverse .btn-link:hover, | |
| .navbar-inverse .btn-link[disabled]:focus, | |
| fieldset[disabled] .navbar-inverse .btn-link:focus { | |
| color: #444; | |
| } | |
| .breadcrumb { | |
| padding: 8px 15px; | |
| margin-bottom: 18px; | |
| list-style: none; | |
| background-color: #f5f5f5; | |
| border-radius: 2px; | |
| } | |
| .breadcrumb > li { | |
| display: inline-block; | |
| } | |
| .breadcrumb > li + li:before { | |
| content: "/\00a0"; | |
| padding: 0 5px; | |
| color: #5e5e5e; | |
| } | |
| .breadcrumb > .active { | |
| color: #777777; | |
| } | |
| .pagination { | |
| display: inline-block; | |
| padding-left: 0; | |
| margin: 18px 0; | |
| border-radius: 2px; | |
| } | |
| .pagination > li { | |
| display: inline; | |
| } | |
| .pagination > li > a, | |
| .pagination > li > span { | |
| position: relative; | |
| float: left; | |
| padding: 6px 12px; | |
| line-height: 1.42857143; | |
| text-decoration: none; | |
| color: #337ab7; | |
| background-color: #fff; | |
| border: 1px solid #ddd; | |
| margin-left: -1px; | |
| } | |
| .pagination > li:first-child > a, | |
| .pagination > li:first-child > span { | |
| margin-left: 0; | |
| border-bottom-left-radius: 2px; | |
| border-top-left-radius: 2px; | |
| } | |
| .pagination > li:last-child > a, | |
| .pagination > li:last-child > span { | |
| border-bottom-right-radius: 2px; | |
| border-top-right-radius: 2px; | |
| } | |
| .pagination > li > a:hover, | |
| .pagination > li > span:hover, | |
| .pagination > li > a:focus, | |
| .pagination > li > span:focus { | |
| z-index: 2; | |
| color: #23527c; | |
| background-color: #eeeeee; | |
| border-color: #ddd; | |
| } | |
| .pagination > .active > a, | |
| .pagination > .active > span, | |
| .pagination > .active > a:hover, | |
| .pagination > .active > span:hover, | |
| .pagination > .active > a:focus, | |
| .pagination > .active > span:focus { | |
| z-index: 3; | |
| color: #fff; | |
| background-color: #337ab7; | |
| border-color: #337ab7; | |
| cursor: default; | |
| } | |
| .pagination > .disabled > span, | |
| .pagination > .disabled > span:hover, | |
| .pagination > .disabled > span:focus, | |
| .pagination > .disabled > a, | |
| .pagination > .disabled > a:hover, | |
| .pagination > .disabled > a:focus { | |
| color: #777777; | |
| background-color: #fff; | |
| border-color: #ddd; | |
| cursor: not-allowed; | |
| } | |
| .pagination-lg > li > a, | |
| .pagination-lg > li > span { | |
| padding: 10px 16px; | |
| font-size: 17px; | |
| line-height: 1.3333333; | |
| } | |
| .pagination-lg > li:first-child > a, | |
| .pagination-lg > li:first-child > span { | |
| border-bottom-left-radius: 3px; | |
| border-top-left-radius: 3px; | |
| } | |
| .pagination-lg > li:last-child > a, | |
| .pagination-lg > li:last-child > span { | |
| border-bottom-right-radius: 3px; | |
| border-top-right-radius: 3px; | |
| } | |
| .pagination-sm > li > a, | |
| .pagination-sm > li > span { | |
| padding: 5px 10px; | |
| font-size: 12px; | |
| line-height: 1.5; | |
| } | |
| .pagination-sm > li:first-child > a, | |
| .pagination-sm > li:first-child > span { | |
| border-bottom-left-radius: 1px; | |
| border-top-left-radius: 1px; | |
| } | |
| .pagination-sm > li:last-child > a, | |
| .pagination-sm > li:last-child > span { | |
| border-bottom-right-radius: 1px; | |
| border-top-right-radius: 1px; | |
| } | |
| .pager { | |
| padding-left: 0; | |
| margin: 18px 0; | |
| list-style: none; | |
| text-align: center; | |
| } | |
| .pager li { | |
| display: inline; | |
| } | |
| .pager li > a, | |
| .pager li > span { | |
| display: inline-block; | |
| padding: 5px 14px; | |
| background-color: #fff; | |
| border: 1px solid #ddd; | |
| border-radius: 15px; | |
| } | |
| .pager li > a:hover, | |
| .pager li > a:focus { | |
| text-decoration: none; | |
| background-color: #eeeeee; | |
| } | |
| .pager .next > a, | |
| .pager .next > span { | |
| float: right; | |
| } | |
| .pager .previous > a, | |
| .pager .previous > span { | |
| float: left; | |
| } | |
| .pager .disabled > a, | |
| .pager .disabled > a:hover, | |
| .pager .disabled > a:focus, | |
| .pager .disabled > span { | |
| color: #777777; | |
| background-color: #fff; | |
| cursor: not-allowed; | |
| } | |
| .label { | |
| display: inline; | |
| padding: .2em .6em .3em; | |
| font-size: 75%; | |
| font-weight: bold; | |
| line-height: 1; | |
| color: #fff; | |
| text-align: center; | |
| white-space: nowrap; | |
| vertical-align: baseline; | |
| border-radius: .25em; | |
| } | |
| a.label:hover, | |
| a.label:focus { | |
| color: #fff; | |
| text-decoration: none; | |
| cursor: pointer; | |
| } | |
| .label:empty { | |
| display: none; | |
| } | |
| .btn .label { | |
| position: relative; | |
| top: -1px; | |
| } | |
| .label-default { | |
| background-color: #777777; | |
| } | |
| .label-default[href]:hover, | |
| .label-default[href]:focus { | |
| background-color: #5e5e5e; | |
| } | |
| .label-primary { | |
| background-color: #337ab7; | |
| } | |
| .label-primary[href]:hover, | |
| .label-primary[href]:focus { | |
| background-color: #286090; | |
| } | |
| .label-success { | |
| background-color: #5cb85c; | |
| } | |
| .label-success[href]:hover, | |
| .label-success[href]:focus { | |
| background-color: #449d44; | |
| } | |
| .label-info { | |
| background-color: #5bc0de; | |
| } | |
| .label-info[href]:hover, | |
| .label-info[href]:focus { | |
| background-color: #31b0d5; | |
| } | |
| .label-warning { | |
| background-color: #f0ad4e; | |
| } | |
| .label-warning[href]:hover, | |
| .label-warning[href]:focus { | |
| background-color: #ec971f; | |
| } | |
| .label-danger { | |
| background-color: #d9534f; | |
| } | |
| .label-danger[href]:hover, | |
| .label-danger[href]:focus { | |
| background-color: #c9302c; | |
| } | |
| .badge { | |
| display: inline-block; | |
| min-width: 10px; | |
| padding: 3px 7px; | |
| font-size: 12px; | |
| font-weight: bold; | |
| color: #fff; | |
| line-height: 1; | |
| vertical-align: middle; | |
| white-space: nowrap; | |
| text-align: center; | |
| background-color: #777777; | |
| border-radius: 10px; | |
| } | |
| .badge:empty { | |
| display: none; | |
| } | |
| .btn .badge { | |
| position: relative; | |
| top: -1px; | |
| } | |
| .btn-xs .badge, | |
| .btn-group-xs > .btn .badge { | |
| top: 0; | |
| padding: 1px 5px; | |
| } | |
| a.badge:hover, | |
| a.badge:focus { | |
| color: #fff; | |
| text-decoration: none; | |
| cursor: pointer; | |
| } | |
| .list-group-item.active > .badge, | |
| .nav-pills > .active > a > .badge { | |
| color: #337ab7; | |
| background-color: #fff; | |
| } | |
| .list-group-item > .badge { | |
| float: right; | |
| } | |
| .list-group-item > .badge + .badge { | |
| margin-right: 5px; | |
| } | |
| .nav-pills > li > a > .badge { | |
| margin-left: 3px; | |
| } | |
| .jumbotron { | |
| padding-top: 30px; | |
| padding-bottom: 30px; | |
| margin-bottom: 30px; | |
| color: inherit; | |
| background-color: #eeeeee; | |
| } | |
| .jumbotron h1, | |
| .jumbotron .h1 { | |
| color: inherit; | |
| } | |
| .jumbotron p { | |
| margin-bottom: 15px; | |
| font-size: 20px; | |
| font-weight: 200; | |
| } | |
| .jumbotron > hr { | |
| border-top-color: #d5d5d5; | |
| } | |
| .container .jumbotron, | |
| .container-fluid .jumbotron { | |
| border-radius: 3px; | |
| padding-left: 0px; | |
| padding-right: 0px; | |
| } | |
| .jumbotron .container { | |
| max-width: 100%; | |
| } | |
| @media screen and (min-width: 768px) { | |
| .jumbotron { | |
| padding-top: 48px; | |
| padding-bottom: 48px; | |
| } | |
| .container .jumbotron, | |
| .container-fluid .jumbotron { | |
| padding-left: 60px; | |
| padding-right: 60px; | |
| } | |
| .jumbotron h1, | |
| .jumbotron .h1 { | |
| font-size: 59px; | |
| } | |
| } | |
| .thumbnail { | |
| display: block; | |
| padding: 4px; | |
| margin-bottom: 18px; | |
| line-height: 1.42857143; | |
| background-color: #fff; | |
| border: 1px solid #ddd; | |
| border-radius: 2px; | |
| -webkit-transition: border 0.2s ease-in-out; | |
| -o-transition: border 0.2s ease-in-out; | |
| transition: border 0.2s ease-in-out; | |
| } | |
| .thumbnail > img, | |
| .thumbnail a > img { | |
| margin-left: auto; | |
| margin-right: auto; | |
| } | |
| a.thumbnail:hover, | |
| a.thumbnail:focus, | |
| a.thumbnail.active { | |
| border-color: #337ab7; | |
| } | |
| .thumbnail .caption { | |
| padding: 9px; | |
| color: #000; | |
| } | |
| .alert { | |
| padding: 15px; | |
| margin-bottom: 18px; | |
| border: 1px solid transparent; | |
| border-radius: 2px; | |
| } | |
| .alert h4 { | |
| margin-top: 0; | |
| color: inherit; | |
| } | |
| .alert .alert-link { | |
| font-weight: bold; | |
| } | |
| .alert > p, | |
| .alert > ul { | |
| margin-bottom: 0; | |
| } | |
| .alert > p + p { | |
| margin-top: 5px; | |
| } | |
| .alert-dismissable, | |
| .alert-dismissible { | |
| padding-right: 35px; | |
| } | |
| .alert-dismissable .close, | |
| .alert-dismissible .close { | |
| position: relative; | |
| top: -2px; | |
| right: -21px; | |
| color: inherit; | |
| } | |
| .alert-success { | |
| background-color: #dff0d8; | |
| border-color: #d6e9c6; | |
| color: #3c763d; | |
| } | |
| .alert-success hr { | |
| border-top-color: #c9e2b3; | |
| } | |
| .alert-success .alert-link { | |
| color: #2b542c; | |
| } | |
| .alert-info { | |
| background-color: #d9edf7; | |
| border-color: #bce8f1; | |
| color: #31708f; | |
| } | |
| .alert-info hr { | |
| border-top-color: #a6e1ec; | |
| } | |
| .alert-info .alert-link { | |
| color: #245269; | |
| } | |
| .alert-warning { | |
| background-color: #fcf8e3; | |
| border-color: #faebcc; | |
| color: #8a6d3b; | |
| } | |
| .alert-warning hr { | |
| border-top-color: #f7e1b5; | |
| } | |
| .alert-warning .alert-link { | |
| color: #66512c; | |
| } | |
| .alert-danger { | |
| background-color: #f2dede; | |
| border-color: #ebccd1; | |
| color: #a94442; | |
| } | |
| .alert-danger hr { | |
| border-top-color: #e4b9c0; | |
| } | |
| .alert-danger .alert-link { | |
| color: #843534; | |
| } | |
| @-webkit-keyframes progress-bar-stripes { | |
| from { | |
| background-position: 40px 0; | |
| } | |
| to { | |
| background-position: 0 0; | |
| } | |
| } | |
| @keyframes progress-bar-stripes { | |
| from { | |
| background-position: 40px 0; | |
| } | |
| to { | |
| background-position: 0 0; | |
| } | |
| } | |
| .progress { | |
| overflow: hidden; | |
| height: 18px; | |
| margin-bottom: 18px; | |
| background-color: #f5f5f5; | |
| border-radius: 2px; | |
| -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); | |
| box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); | |
| } | |
| .progress-bar { | |
| float: left; | |
| width: 0%; | |
| height: 100%; | |
| font-size: 12px; | |
| line-height: 18px; | |
| color: #fff; | |
| text-align: center; | |
| background-color: #337ab7; | |
| -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); | |
| box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); | |
| -webkit-transition: width 0.6s ease; | |
| -o-transition: width 0.6s ease; | |
| transition: width 0.6s ease; | |
| } | |
| .progress-striped .progress-bar, | |
| .progress-bar-striped { | |
| background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| background-size: 40px 40px; | |
| } | |
| .progress.active .progress-bar, | |
| .progress-bar.active { | |
| -webkit-animation: progress-bar-stripes 2s linear infinite; | |
| -o-animation: progress-bar-stripes 2s linear infinite; | |
| animation: progress-bar-stripes 2s linear infinite; | |
| } | |
| .progress-bar-success { | |
| background-color: #5cb85c; | |
| } | |
| .progress-striped .progress-bar-success { | |
| background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| } | |
| .progress-bar-info { | |
| background-color: #5bc0de; | |
| } | |
| .progress-striped .progress-bar-info { | |
| background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| } | |
| .progress-bar-warning { | |
| background-color: #f0ad4e; | |
| } | |
| .progress-striped .progress-bar-warning { | |
| background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| } | |
| .progress-bar-danger { | |
| background-color: #d9534f; | |
| } | |
| .progress-striped .progress-bar-danger { | |
| background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| } | |
| .media { | |
| margin-top: 15px; | |
| } | |
| .media:first-child { | |
| margin-top: 0; | |
| } | |
| .media, | |
| .media-body { | |
| zoom: 1; | |
| overflow: hidden; | |
| } | |
| .media-body { | |
| width: 10000px; | |
| } | |
| .media-object { | |
| display: block; | |
| } | |
| .media-object.img-thumbnail { | |
| max-width: none; | |
| } | |
| .media-right, | |
| .media > .pull-right { | |
| padding-left: 10px; | |
| } | |
| .media-left, | |
| .media > .pull-left { | |
| padding-right: 10px; | |
| } | |
| .media-left, | |
| .media-right, | |
| .media-body { | |
| display: table-cell; | |
| vertical-align: top; | |
| } | |
| .media-middle { | |
| vertical-align: middle; | |
| } | |
| .media-bottom { | |
| vertical-align: bottom; | |
| } | |
| .media-heading { | |
| margin-top: 0; | |
| margin-bottom: 5px; | |
| } | |
| .media-list { | |
| padding-left: 0; | |
| list-style: none; | |
| } | |
| .list-group { | |
| margin-bottom: 20px; | |
| padding-left: 0; | |
| } | |
| .list-group-item { | |
| position: relative; | |
| display: block; | |
| padding: 10px 15px; | |
| margin-bottom: -1px; | |
| background-color: #fff; | |
| border: 1px solid #ddd; | |
| } | |
| .list-group-item:first-child { | |
| border-top-right-radius: 2px; | |
| border-top-left-radius: 2px; | |
| } | |
| .list-group-item:last-child { | |
| margin-bottom: 0; | |
| border-bottom-right-radius: 2px; | |
| border-bottom-left-radius: 2px; | |
| } | |
| a.list-group-item, | |
| button.list-group-item { | |
| color: #555; | |
| } | |
| a.list-group-item .list-group-item-heading, | |
| button.list-group-item .list-group-item-heading { | |
| color: #333; | |
| } | |
| a.list-group-item:hover, | |
| button.list-group-item:hover, | |
| a.list-group-item:focus, | |
| button.list-group-item:focus { | |
| text-decoration: none; | |
| color: #555; | |
| background-color: #f5f5f5; | |
| } | |
| button.list-group-item { | |
| width: 100%; | |
| text-align: left; | |
| } | |
| .list-group-item.disabled, | |
| .list-group-item.disabled:hover, | |
| .list-group-item.disabled:focus { | |
| background-color: #eeeeee; | |
| color: #777777; | |
| cursor: not-allowed; | |
| } | |
| .list-group-item.disabled .list-group-item-heading, | |
| .list-group-item.disabled:hover .list-group-item-heading, | |
| .list-group-item.disabled:focus .list-group-item-heading { | |
| color: inherit; | |
| } | |
| .list-group-item.disabled .list-group-item-text, | |
| .list-group-item.disabled:hover .list-group-item-text, | |
| .list-group-item.disabled:focus .list-group-item-text { | |
| color: #777777; | |
| } | |
| .list-group-item.active, | |
| .list-group-item.active:hover, | |
| .list-group-item.active:focus { | |
| z-index: 2; | |
| color: #fff; | |
| background-color: #337ab7; | |
| border-color: #337ab7; | |
| } | |
| .list-group-item.active .list-group-item-heading, | |
| .list-group-item.active:hover .list-group-item-heading, | |
| .list-group-item.active:focus .list-group-item-heading, | |
| .list-group-item.active .list-group-item-heading > small, | |
| .list-group-item.active:hover .list-group-item-heading > small, | |
| .list-group-item.active:focus .list-group-item-heading > small, | |
| .list-group-item.active .list-group-item-heading > .small, | |
| .list-group-item.active:hover .list-group-item-heading > .small, | |
| .list-group-item.active:focus .list-group-item-heading > .small { | |
| color: inherit; | |
| } | |
| .list-group-item.active .list-group-item-text, | |
| .list-group-item.active:hover .list-group-item-text, | |
| .list-group-item.active:focus .list-group-item-text { | |
| color: #c7ddef; | |
| } | |
| .list-group-item-success { | |
| color: #3c763d; | |
| background-color: #dff0d8; | |
| } | |
| a.list-group-item-success, | |
| button.list-group-item-success { | |
| color: #3c763d; | |
| } | |
| a.list-group-item-success .list-group-item-heading, | |
| button.list-group-item-success .list-group-item-heading { | |
| color: inherit; | |
| } | |
| a.list-group-item-success:hover, | |
| button.list-group-item-success:hover, | |
| a.list-group-item-success:focus, | |
| button.list-group-item-success:focus { | |
| color: #3c763d; | |
| background-color: #d0e9c6; | |
| } | |
| a.list-group-item-success.active, | |
| button.list-group-item-success.active, | |
| a.list-group-item-success.active:hover, | |
| button.list-group-item-success.active:hover, | |
| a.list-group-item-success.active:focus, | |
| button.list-group-item-success.active:focus { | |
| color: #fff; | |
| background-color: #3c763d; | |
| border-color: #3c763d; | |
| } | |
| .list-group-item-info { | |
| color: #31708f; | |
| background-color: #d9edf7; | |
| } | |
| a.list-group-item-info, | |
| button.list-group-item-info { | |
| color: #31708f; | |
| } | |
| a.list-group-item-info .list-group-item-heading, | |
| button.list-group-item-info .list-group-item-heading { | |
| color: inherit; | |
| } | |
| a.list-group-item-info:hover, | |
| button.list-group-item-info:hover, | |
| a.list-group-item-info:focus, | |
| button.list-group-item-info:focus { | |
| color: #31708f; | |
| background-color: #c4e3f3; | |
| } | |
| a.list-group-item-info.active, | |
| button.list-group-item-info.active, | |
| a.list-group-item-info.active:hover, | |
| button.list-group-item-info.active:hover, | |
| a.list-group-item-info.active:focus, | |
| button.list-group-item-info.active:focus { | |
| color: #fff; | |
| background-color: #31708f; | |
| border-color: #31708f; | |
| } | |
| .list-group-item-warning { | |
| color: #8a6d3b; | |
| background-color: #fcf8e3; | |
| } | |
| a.list-group-item-warning, | |
| button.list-group-item-warning { | |
| color: #8a6d3b; | |
| } | |
| a.list-group-item-warning .list-group-item-heading, | |
| button.list-group-item-warning .list-group-item-heading { | |
| color: inherit; | |
| } | |
| a.list-group-item-warning:hover, | |
| button.list-group-item-warning:hover, | |
| a.list-group-item-warning:focus, | |
| button.list-group-item-warning:focus { | |
| color: #8a6d3b; | |
| background-color: #faf2cc; | |
| } | |
| a.list-group-item-warning.active, | |
| button.list-group-item-warning.active, | |
| a.list-group-item-warning.active:hover, | |
| button.list-group-item-warning.active:hover, | |
| a.list-group-item-warning.active:focus, | |
| button.list-group-item-warning.active:focus { | |
| color: #fff; | |
| background-color: #8a6d3b; | |
| border-color: #8a6d3b; | |
| } | |
| .list-group-item-danger { | |
| color: #a94442; | |
| background-color: #f2dede; | |
| } | |
| a.list-group-item-danger, | |
| button.list-group-item-danger { | |
| color: #a94442; | |
| } | |
| a.list-group-item-danger .list-group-item-heading, | |
| button.list-group-item-danger .list-group-item-heading { | |
| color: inherit; | |
| } | |
| a.list-group-item-danger:hover, | |
| button.list-group-item-danger:hover, | |
| a.list-group-item-danger:focus, | |
| button.list-group-item-danger:focus { | |
| color: #a94442; | |
| background-color: #ebcccc; | |
| } | |
| a.list-group-item-danger.active, | |
| button.list-group-item-danger.active, | |
| a.list-group-item-danger.active:hover, | |
| button.list-group-item-danger.active:hover, | |
| a.list-group-item-danger.active:focus, | |
| button.list-group-item-danger.active:focus { | |
| color: #fff; | |
| background-color: #a94442; | |
| border-color: #a94442; | |
| } | |
| .list-group-item-heading { | |
| margin-top: 0; | |
| margin-bottom: 5px; | |
| } | |
| .list-group-item-text { | |
| margin-bottom: 0; | |
| line-height: 1.3; | |
| } | |
| .panel { | |
| margin-bottom: 18px; | |
| background-color: #fff; | |
| border: 1px solid transparent; | |
| border-radius: 2px; | |
| -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); | |
| box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); | |
| } | |
| .panel-body { | |
| padding: 15px; | |
| } | |
| .panel-heading { | |
| padding: 10px 15px; | |
| border-bottom: 1px solid transparent; | |
| border-top-right-radius: 1px; | |
| border-top-left-radius: 1px; | |
| } | |
| .panel-heading > .dropdown .dropdown-toggle { | |
| color: inherit; | |
| } | |
| .panel-title { | |
| margin-top: 0; | |
| margin-bottom: 0; | |
| font-size: 15px; | |
| color: inherit; | |
| } | |
| .panel-title > a, | |
| .panel-title > small, | |
| .panel-title > .small, | |
| .panel-title > small > a, | |
| .panel-title > .small > a { | |
| color: inherit; | |
| } | |
| .panel-footer { | |
| padding: 10px 15px; | |
| background-color: #f5f5f5; | |
| border-top: 1px solid #ddd; | |
| border-bottom-right-radius: 1px; | |
| border-bottom-left-radius: 1px; | |
| } | |
| .panel > .list-group, | |
| .panel > .panel-collapse > .list-group { | |
| margin-bottom: 0; | |
| } | |
| .panel > .list-group .list-group-item, | |
| .panel > .panel-collapse > .list-group .list-group-item { | |
| border-width: 1px 0; | |
| border-radius: 0; | |
| } | |
| .panel > .list-group:first-child .list-group-item:first-child, | |
| .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { | |
| border-top: 0; | |
| border-top-right-radius: 1px; | |
| border-top-left-radius: 1px; | |
| } | |
| .panel > .list-group:last-child .list-group-item:last-child, | |
| .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { | |
| border-bottom: 0; | |
| border-bottom-right-radius: 1px; | |
| border-bottom-left-radius: 1px; | |
| } | |
| .panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { | |
| border-top-right-radius: 0; | |
| border-top-left-radius: 0; | |
| } | |
| .panel-heading + .list-group .list-group-item:first-child { | |
| border-top-width: 0; | |
| } | |
| .list-group + .panel-footer { | |
| border-top-width: 0; | |
| } | |
| .panel > .table, | |
| .panel > .table-responsive > .table, | |
| .panel > .panel-collapse > .table { | |
| margin-bottom: 0; | |
| } | |
| .panel > .table caption, | |
| .panel > .table-responsive > .table caption, | |
| .panel > .panel-collapse > .table caption { | |
| padding-left: 15px; | |
| padding-right: 15px; | |
| } | |
| .panel > .table:first-child, | |
| .panel > .table-responsive:first-child > .table:first-child { | |
| border-top-right-radius: 1px; | |
| border-top-left-radius: 1px; | |
| } | |
| .panel > .table:first-child > thead:first-child > tr:first-child, | |
| .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, | |
| .panel > .table:first-child > tbody:first-child > tr:first-child, | |
| .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { | |
| border-top-left-radius: 1px; | |
| border-top-right-radius: 1px; | |
| } | |
| .panel > .table:first-child > thead:first-child > tr:first-child td:first-child, | |
| .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, | |
| .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, | |
| .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, | |
| .panel > .table:first-child > thead:first-child > tr:first-child th:first-child, | |
| .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, | |
| .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, | |
| .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { | |
| border-top-left-radius: 1px; | |
| } | |
| .panel > .table:first-child > thead:first-child > tr:first-child td:last-child, | |
| .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, | |
| .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, | |
| .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, | |
| .panel > .table:first-child > thead:first-child > tr:first-child th:last-child, | |
| .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, | |
| .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, | |
| .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { | |
| border-top-right-radius: 1px; | |
| } | |
| .panel > .table:last-child, | |
| .panel > .table-responsive:last-child > .table:last-child { | |
| border-bottom-right-radius: 1px; | |
| border-bottom-left-radius: 1px; | |
| } | |
| .panel > .table:last-child > tbody:last-child > tr:last-child, | |
| .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, | |
| .panel > .table:last-child > tfoot:last-child > tr:last-child, | |
| .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { | |
| border-bottom-left-radius: 1px; | |
| border-bottom-right-radius: 1px; | |
| } | |
| .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, | |
| .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, | |
| .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, | |
| .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, | |
| .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, | |
| .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, | |
| .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, | |
| .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { | |
| border-bottom-left-radius: 1px; | |
| } | |
| .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, | |
| .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, | |
| .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, | |
| .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, | |
| .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, | |
| .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, | |
| .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, | |
| .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { | |
| border-bottom-right-radius: 1px; | |
| } | |
| .panel > .panel-body + .table, | |
| .panel > .panel-body + .table-responsive, | |
| .panel > .table + .panel-body, | |
| .panel > .table-responsive + .panel-body { | |
| border-top: 1px solid #ddd; | |
| } | |
| .panel > .table > tbody:first-child > tr:first-child th, | |
| .panel > .table > tbody:first-child > tr:first-child td { | |
| border-top: 0; | |
| } | |
| .panel > .table-bordered, | |
| .panel > .table-responsive > .table-bordered { | |
| border: 0; | |
| } | |
| .panel > .table-bordered > thead > tr > th:first-child, | |
| .panel > .table-responsive > .table-bordered > thead > tr > th:first-child, | |
| .panel > .table-bordered > tbody > tr > th:first-child, | |
| .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, | |
| .panel > .table-bordered > tfoot > tr > th:first-child, | |
| .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, | |
| .panel > .table-bordered > thead > tr > td:first-child, | |
| .panel > .table-responsive > .table-bordered > thead > tr > td:first-child, | |
| .panel > .table-bordered > tbody > tr > td:first-child, | |
| .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, | |
| .panel > .table-bordered > tfoot > tr > td:first-child, | |
| .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { | |
| border-left: 0; | |
| } | |
| .panel > .table-bordered > thead > tr > th:last-child, | |
| .panel > .table-responsive > .table-bordered > thead > tr > th:last-child, | |
| .panel > .table-bordered > tbody > tr > th:last-child, | |
| .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, | |
| .panel > .table-bordered > tfoot > tr > th:last-child, | |
| .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, | |
| .panel > .table-bordered > thead > tr > td:last-child, | |
| .panel > .table-responsive > .table-bordered > thead > tr > td:last-child, | |
| .panel > .table-bordered > tbody > tr > td:last-child, | |
| .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, | |
| .panel > .table-bordered > tfoot > tr > td:last-child, | |
| .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { | |
| border-right: 0; | |
| } | |
| .panel > .table-bordered > thead > tr:first-child > td, | |
| .panel > .table-responsive > .table-bordered > thead > tr:first-child > td, | |
| .panel > .table-bordered > tbody > tr:first-child > td, | |
| .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, | |
| .panel > .table-bordered > thead > tr:first-child > th, | |
| .panel > .table-responsive > .table-bordered > thead > tr:first-child > th, | |
| .panel > .table-bordered > tbody > tr:first-child > th, | |
| .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { | |
| border-bottom: 0; | |
| } | |
| .panel > .table-bordered > tbody > tr:last-child > td, | |
| .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, | |
| .panel > .table-bordered > tfoot > tr:last-child > td, | |
| .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, | |
| .panel > .table-bordered > tbody > tr:last-child > th, | |
| .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, | |
| .panel > .table-bordered > tfoot > tr:last-child > th, | |
| .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { | |
| border-bottom: 0; | |
| } | |
| .panel > .table-responsive { | |
| border: 0; | |
| margin-bottom: 0; | |
| } | |
| .panel-group { | |
| margin-bottom: 18px; | |
| } | |
| .panel-group .panel { | |
| margin-bottom: 0; | |
| border-radius: 2px; | |
| } | |
| .panel-group .panel + .panel { | |
| margin-top: 5px; | |
| } | |
| .panel-group .panel-heading { | |
| border-bottom: 0; | |
| } | |
| .panel-group .panel-heading + .panel-collapse > .panel-body, | |
| .panel-group .panel-heading + .panel-collapse > .list-group { | |
| border-top: 1px solid #ddd; | |
| } | |
| .panel-group .panel-footer { | |
| border-top: 0; | |
| } | |
| .panel-group .panel-footer + .panel-collapse .panel-body { | |
| border-bottom: 1px solid #ddd; | |
| } | |
| .panel-default { | |
| border-color: #ddd; | |
| } | |
| .panel-default > .panel-heading { | |
| color: #333333; | |
| background-color: #f5f5f5; | |
| border-color: #ddd; | |
| } | |
| .panel-default > .panel-heading + .panel-collapse > .panel-body { | |
| border-top-color: #ddd; | |
| } | |
| .panel-default > .panel-heading .badge { | |
| color: #f5f5f5; | |
| background-color: #333333; | |
| } | |
| .panel-default > .panel-footer + .panel-collapse > .panel-body { | |
| border-bottom-color: #ddd; | |
| } | |
| .panel-primary { | |
| border-color: #337ab7; | |
| } | |
| .panel-primary > .panel-heading { | |
| color: #fff; | |
| background-color: #337ab7; | |
| border-color: #337ab7; | |
| } | |
| .panel-primary > .panel-heading + .panel-collapse > .panel-body { | |
| border-top-color: #337ab7; | |
| } | |
| .panel-primary > .panel-heading .badge { | |
| color: #337ab7; | |
| background-color: #fff; | |
| } | |
| .panel-primary > .panel-footer + .panel-collapse > .panel-body { | |
| border-bottom-color: #337ab7; | |
| } | |
| .panel-success { | |
| border-color: #d6e9c6; | |
| } | |
| .panel-success > .panel-heading { | |
| color: #3c763d; | |
| background-color: #dff0d8; | |
| border-color: #d6e9c6; | |
| } | |
| .panel-success > .panel-heading + .panel-collapse > .panel-body { | |
| border-top-color: #d6e9c6; | |
| } | |
| .panel-success > .panel-heading .badge { | |
| color: #dff0d8; | |
| background-color: #3c763d; | |
| } | |
| .panel-success > .panel-footer + .panel-collapse > .panel-body { | |
| border-bottom-color: #d6e9c6; | |
| } | |
| .panel-info { | |
| border-color: #bce8f1; | |
| } | |
| .panel-info > .panel-heading { | |
| color: #31708f; | |
| background-color: #d9edf7; | |
| border-color: #bce8f1; | |
| } | |
| .panel-info > .panel-heading + .panel-collapse > .panel-body { | |
| border-top-color: #bce8f1; | |
| } | |
| .panel-info > .panel-heading .badge { | |
| color: #d9edf7; | |
| background-color: #31708f; | |
| } | |
| .panel-info > .panel-footer + .panel-collapse > .panel-body { | |
| border-bottom-color: #bce8f1; | |
| } | |
| .panel-warning { | |
| border-color: #faebcc; | |
| } | |
| .panel-warning > .panel-heading { | |
| color: #8a6d3b; | |
| background-color: #fcf8e3; | |
| border-color: #faebcc; | |
| } | |
| .panel-warning > .panel-heading + .panel-collapse > .panel-body { | |
| border-top-color: #faebcc; | |
| } | |
| .panel-warning > .panel-heading .badge { | |
| color: #fcf8e3; | |
| background-color: #8a6d3b; | |
| } | |
| .panel-warning > .panel-footer + .panel-collapse > .panel-body { | |
| border-bottom-color: #faebcc; | |
| } | |
| .panel-danger { | |
| border-color: #ebccd1; | |
| } | |
| .panel-danger > .panel-heading { | |
| color: #a94442; | |
| background-color: #f2dede; | |
| border-color: #ebccd1; | |
| } | |
| .panel-danger > .panel-heading + .panel-collapse > .panel-body { | |
| border-top-color: #ebccd1; | |
| } | |
| .panel-danger > .panel-heading .badge { | |
| color: #f2dede; | |
| background-color: #a94442; | |
| } | |
| .panel-danger > .panel-footer + .panel-collapse > .panel-body { | |
| border-bottom-color: #ebccd1; | |
| } | |
| .embed-responsive { | |
| position: relative; | |
| display: block; | |
| height: 0; | |
| padding: 0; | |
| overflow: hidden; | |
| } | |
| .embed-responsive .embed-responsive-item, | |
| .embed-responsive iframe, | |
| .embed-responsive embed, | |
| .embed-responsive object, | |
| .embed-responsive video { | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| bottom: 0; | |
| height: 100%; | |
| width: 100%; | |
| border: 0; | |
| } | |
| .embed-responsive-16by9 { | |
| padding-bottom: 56.25%; | |
| } | |
| .embed-responsive-4by3 { | |
| padding-bottom: 75%; | |
| } | |
| .well { | |
| min-height: 20px; | |
| padding: 19px; | |
| margin-bottom: 20px; | |
| background-color: #f5f5f5; | |
| border: 1px solid #e3e3e3; | |
| border-radius: 2px; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); | |
| box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); | |
| } | |
| .well blockquote { | |
| border-color: #ddd; | |
| border-color: rgba(0, 0, 0, 0.15); | |
| } | |
| .well-lg { | |
| padding: 24px; | |
| border-radius: 3px; | |
| } | |
| .well-sm { | |
| padding: 9px; | |
| border-radius: 1px; | |
| } | |
| .close { | |
| float: right; | |
| font-size: 19.5px; | |
| font-weight: bold; | |
| line-height: 1; | |
| color: #000; | |
| text-shadow: 0 1px 0 #fff; | |
| opacity: 0.2; | |
| filter: alpha(opacity=20); | |
| } | |
| .close:hover, | |
| .close:focus { | |
| color: #000; | |
| text-decoration: none; | |
| cursor: pointer; | |
| opacity: 0.5; | |
| filter: alpha(opacity=50); | |
| } | |
| button.close { | |
| padding: 0; | |
| cursor: pointer; | |
| background: transparent; | |
| border: 0; | |
| -webkit-appearance: none; | |
| } | |
| .modal-open { | |
| overflow: hidden; | |
| } | |
| .modal { | |
| display: none; | |
| overflow: hidden; | |
| position: fixed; | |
| top: 0; | |
| right: 0; | |
| bottom: 0; | |
| left: 0; | |
| z-index: 1050; | |
| -webkit-overflow-scrolling: touch; | |
| outline: 0; | |
| } | |
| .modal.fade .modal-dialog { | |
| -webkit-transform: translate(0, -25%); | |
| -ms-transform: translate(0, -25%); | |
| -o-transform: translate(0, -25%); | |
| transform: translate(0, -25%); | |
| -webkit-transition: -webkit-transform 0.3s ease-out; | |
| -moz-transition: -moz-transform 0.3s ease-out; | |
| -o-transition: -o-transform 0.3s ease-out; | |
| transition: transform 0.3s ease-out; | |
| } | |
| .modal.in .modal-dialog { | |
| -webkit-transform: translate(0, 0); | |
| -ms-transform: translate(0, 0); | |
| -o-transform: translate(0, 0); | |
| transform: translate(0, 0); | |
| } | |
| .modal-open .modal { | |
| overflow-x: hidden; | |
| overflow-y: auto; | |
| } | |
| .modal-dialog { | |
| position: relative; | |
| width: auto; | |
| margin: 10px; | |
| } | |
| .modal-content { | |
| position: relative; | |
| background-color: #fff; | |
| border: 1px solid #999; | |
| border: 1px solid rgba(0, 0, 0, 0.2); | |
| border-radius: 3px; | |
| -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); | |
| box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); | |
| background-clip: padding-box; | |
| outline: 0; | |
| } | |
| .modal-backdrop { | |
| position: fixed; | |
| top: 0; | |
| right: 0; | |
| bottom: 0; | |
| left: 0; | |
| z-index: 1040; | |
| background-color: #000; | |
| } | |
| .modal-backdrop.fade { | |
| opacity: 0; | |
| filter: alpha(opacity=0); | |
| } | |
| .modal-backdrop.in { | |
| opacity: 0.5; | |
| filter: alpha(opacity=50); | |
| } | |
| .modal-header { | |
| padding: 15px; | |
| border-bottom: 1px solid #e5e5e5; | |
| } | |
| .modal-header .close { | |
| margin-top: -2px; | |
| } | |
| .modal-title { | |
| margin: 0; | |
| line-height: 1.42857143; | |
| } | |
| .modal-body { | |
| position: relative; | |
| padding: 15px; | |
| } | |
| .modal-footer { | |
| padding: 15px; | |
| text-align: right; | |
| border-top: 1px solid #e5e5e5; | |
| } | |
| .modal-footer .btn + .btn { | |
| margin-left: 5px; | |
| margin-bottom: 0; | |
| } | |
| .modal-footer .btn-group .btn + .btn { | |
| margin-left: -1px; | |
| } | |
| .modal-footer .btn-block + .btn-block { | |
| margin-left: 0; | |
| } | |
| .modal-scrollbar-measure { | |
| position: absolute; | |
| top: -9999px; | |
| width: 50px; | |
| height: 50px; | |
| overflow: scroll; | |
| } | |
| @media (min-width: 768px) { | |
| .modal-dialog { | |
| width: 600px; | |
| margin: 30px auto; | |
| } | |
| .modal-content { | |
| -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); | |
| box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); | |
| } | |
| .modal-sm { | |
| width: 300px; | |
| } | |
| } | |
| @media (min-width: 992px) { | |
| .modal-lg { | |
| width: 900px; | |
| } | |
| } | |
| .tooltip { | |
| position: absolute; | |
| z-index: 1070; | |
| display: block; | |
| font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; | |
| font-style: normal; | |
| font-weight: normal; | |
| letter-spacing: normal; | |
| line-break: auto; | |
| line-height: 1.42857143; | |
| text-align: left; | |
| text-align: start; | |
| text-decoration: none; | |
| text-shadow: none; | |
| text-transform: none; | |
| white-space: normal; | |
| word-break: normal; | |
| word-spacing: normal; | |
| word-wrap: normal; | |
| font-size: 12px; | |
| opacity: 0; | |
| filter: alpha(opacity=0); | |
| } | |
| .tooltip.in { | |
| opacity: 0.9; | |
| filter: alpha(opacity=90); | |
| } | |
| .tooltip.top { | |
| margin-top: -3px; | |
| padding: 5px 0; | |
| } | |
| .tooltip.right { | |
| margin-left: 3px; | |
| padding: 0 5px; | |
| } | |
| .tooltip.bottom { | |
| margin-top: 3px; | |
| padding: 5px 0; | |
| } | |
| .tooltip.left { | |
| margin-left: -3px; | |
| padding: 0 5px; | |
| } | |
| .tooltip-inner { | |
| max-width: 200px; | |
| padding: 3px 8px; | |
| color: #fff; | |
| text-align: center; | |
| background-color: #000; | |
| border-radius: 2px; | |
| } | |
| .tooltip-arrow { | |
| position: absolute; | |
| width: 0; | |
| height: 0; | |
| border-color: transparent; | |
| border-style: solid; | |
| } | |
| .tooltip.top .tooltip-arrow { | |
| bottom: 0; | |
| left: 50%; | |
| margin-left: -5px; | |
| border-width: 5px 5px 0; | |
| border-top-color: #000; | |
| } | |
| .tooltip.top-left .tooltip-arrow { | |
| bottom: 0; | |
| right: 5px; | |
| margin-bottom: -5px; | |
| border-width: 5px 5px 0; | |
| border-top-color: #000; | |
| } | |
| .tooltip.top-right .tooltip-arrow { | |
| bottom: 0; | |
| left: 5px; | |
| margin-bottom: -5px; | |
| border-width: 5px 5px 0; | |
| border-top-color: #000; | |
| } | |
| .tooltip.right .tooltip-arrow { | |
| top: 50%; | |
| left: 0; | |
| margin-top: -5px; | |
| border-width: 5px 5px 5px 0; | |
| border-right-color: #000; | |
| } | |
| .tooltip.left .tooltip-arrow { | |
| top: 50%; | |
| right: 0; | |
| margin-top: -5px; | |
| border-width: 5px 0 5px 5px; | |
| border-left-color: #000; | |
| } | |
| .tooltip.bottom .tooltip-arrow { | |
| top: 0; | |
| left: 50%; | |
| margin-left: -5px; | |
| border-width: 0 5px 5px; | |
| border-bottom-color: #000; | |
| } | |
| .tooltip.bottom-left .tooltip-arrow { | |
| top: 0; | |
| right: 5px; | |
| margin-top: -5px; | |
| border-width: 0 5px 5px; | |
| border-bottom-color: #000; | |
| } | |
| .tooltip.bottom-right .tooltip-arrow { | |
| top: 0; | |
| left: 5px; | |
| margin-top: -5px; | |
| border-width: 0 5px 5px; | |
| border-bottom-color: #000; | |
| } | |
| .popover { | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| z-index: 1060; | |
| display: none; | |
| max-width: 276px; | |
| padding: 1px; | |
| font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; | |
| font-style: normal; | |
| font-weight: normal; | |
| letter-spacing: normal; | |
| line-break: auto; | |
| line-height: 1.42857143; | |
| text-align: left; | |
| text-align: start; | |
| text-decoration: none; | |
| text-shadow: none; | |
| text-transform: none; | |
| white-space: normal; | |
| word-break: normal; | |
| word-spacing: normal; | |
| word-wrap: normal; | |
| font-size: 13px; | |
| background-color: #fff; | |
| background-clip: padding-box; | |
| border: 1px solid #ccc; | |
| border: 1px solid rgba(0, 0, 0, 0.2); | |
| border-radius: 3px; | |
| -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); | |
| box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); | |
| } | |
| .popover.top { | |
| margin-top: -10px; | |
| } | |
| .popover.right { | |
| margin-left: 10px; | |
| } | |
| .popover.bottom { | |
| margin-top: 10px; | |
| } | |
| .popover.left { | |
| margin-left: -10px; | |
| } | |
| .popover-title { | |
| margin: 0; | |
| padding: 8px 14px; | |
| font-size: 13px; | |
| background-color: #f7f7f7; | |
| border-bottom: 1px solid #ebebeb; | |
| border-radius: 2px 2px 0 0; | |
| } | |
| .popover-content { | |
| padding: 9px 14px; | |
| } | |
| .popover > .arrow, | |
| .popover > .arrow:after { | |
| position: absolute; | |
| display: block; | |
| width: 0; | |
| height: 0; | |
| border-color: transparent; | |
| border-style: solid; | |
| } | |
| .popover > .arrow { | |
| border-width: 11px; | |
| } | |
| .popover > .arrow:after { | |
| border-width: 10px; | |
| content: ""; | |
| } | |
| .popover.top > .arrow { | |
| left: 50%; | |
| margin-left: -11px; | |
| border-bottom-width: 0; | |
| border-top-color: #999999; | |
| border-top-color: rgba(0, 0, 0, 0.25); | |
| bottom: -11px; | |
| } | |
| .popover.top > .arrow:after { | |
| content: " "; | |
| bottom: 1px; | |
| margin-left: -10px; | |
| border-bottom-width: 0; | |
| border-top-color: #fff; | |
| } | |
| .popover.right > .arrow { | |
| top: 50%; | |
| left: -11px; | |
| margin-top: -11px; | |
| border-left-width: 0; | |
| border-right-color: #999999; | |
| border-right-color: rgba(0, 0, 0, 0.25); | |
| } | |
| .popover.right > .arrow:after { | |
| content: " "; | |
| left: 1px; | |
| bottom: -10px; | |
| border-left-width: 0; | |
| border-right-color: #fff; | |
| } | |
| .popover.bottom > .arrow { | |
| left: 50%; | |
| margin-left: -11px; | |
| border-top-width: 0; | |
| border-bottom-color: #999999; | |
| border-bottom-color: rgba(0, 0, 0, 0.25); | |
| top: -11px; | |
| } | |
| .popover.bottom > .arrow:after { | |
| content: " "; | |
| top: 1px; | |
| margin-left: -10px; | |
| border-top-width: 0; | |
| border-bottom-color: #fff; | |
| } | |
| .popover.left > .arrow { | |
| top: 50%; | |
| right: -11px; | |
| margin-top: -11px; | |
| border-right-width: 0; | |
| border-left-color: #999999; | |
| border-left-color: rgba(0, 0, 0, 0.25); | |
| } | |
| .popover.left > .arrow:after { | |
| content: " "; | |
| right: 1px; | |
| border-right-width: 0; | |
| border-left-color: #fff; | |
| bottom: -10px; | |
| } | |
| .carousel { | |
| position: relative; | |
| } | |
| .carousel-inner { | |
| position: relative; | |
| overflow: hidden; | |
| width: 100%; | |
| } | |
| .carousel-inner > .item { | |
| display: none; | |
| position: relative; | |
| -webkit-transition: 0.6s ease-in-out left; | |
| -o-transition: 0.6s ease-in-out left; | |
| transition: 0.6s ease-in-out left; | |
| } | |
| .carousel-inner > .item > img, | |
| .carousel-inner > .item > a > img { | |
| line-height: 1; | |
| } | |
| @media all and (transform-3d), (-webkit-transform-3d) { | |
| .carousel-inner > .item { | |
| -webkit-transition: -webkit-transform 0.6s ease-in-out; | |
| -moz-transition: -moz-transform 0.6s ease-in-out; | |
| -o-transition: -o-transform 0.6s ease-in-out; | |
| transition: transform 0.6s ease-in-out; | |
| -webkit-backface-visibility: hidden; | |
| -moz-backface-visibility: hidden; | |
| backface-visibility: hidden; | |
| -webkit-perspective: 1000px; | |
| -moz-perspective: 1000px; | |
| perspective: 1000px; | |
| } | |
| .carousel-inner > .item.next, | |
| .carousel-inner > .item.active.right { | |
| -webkit-transform: translate3d(100%, 0, 0); | |
| transform: translate3d(100%, 0, 0); | |
| left: 0; | |
| } | |
| .carousel-inner > .item.prev, | |
| .carousel-inner > .item.active.left { | |
| -webkit-transform: translate3d(-100%, 0, 0); | |
| transform: translate3d(-100%, 0, 0); | |
| left: 0; | |
| } | |
| .carousel-inner > .item.next.left, | |
| .carousel-inner > .item.prev.right, | |
| .carousel-inner > .item.active { | |
| -webkit-transform: translate3d(0, 0, 0); | |
| transform: translate3d(0, 0, 0); | |
| left: 0; | |
| } | |
| } | |
| .carousel-inner > .active, | |
| .carousel-inner > .next, | |
| .carousel-inner > .prev { | |
| display: block; | |
| } | |
| .carousel-inner > .active { | |
| left: 0; | |
| } | |
| .carousel-inner > .next, | |
| .carousel-inner > .prev { | |
| position: absolute; | |
| top: 0; | |
| width: 100%; | |
| } | |
| .carousel-inner > .next { | |
| left: 100%; | |
| } | |
| .carousel-inner > .prev { | |
| left: -100%; | |
| } | |
| .carousel-inner > .next.left, | |
| .carousel-inner > .prev.right { | |
| left: 0; | |
| } | |
| .carousel-inner > .active.left { | |
| left: -100%; | |
| } | |
| .carousel-inner > .active.right { | |
| left: 100%; | |
| } | |
| .carousel-control { | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| bottom: 0; | |
| width: 15%; | |
| opacity: 0.5; | |
| filter: alpha(opacity=50); | |
| font-size: 20px; | |
| color: #fff; | |
| text-align: center; | |
| text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); | |
| background-color: rgba(0, 0, 0, 0); | |
| } | |
| .carousel-control.left { | |
| background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); | |
| background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); | |
| background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); | |
| background-repeat: repeat-x; | |
| filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); | |
| } | |
| .carousel-control.right { | |
| left: auto; | |
| right: 0; | |
| background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); | |
| background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); | |
| background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); | |
| background-repeat: repeat-x; | |
| filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); | |
| } | |
| .carousel-control:hover, | |
| .carousel-control:focus { | |
| outline: 0; | |
| color: #fff; | |
| text-decoration: none; | |
| opacity: 0.9; | |
| filter: alpha(opacity=90); | |
| } | |
| .carousel-control .icon-prev, | |
| .carousel-control .icon-next, | |
| .carousel-control .glyphicon-chevron-left, | |
| .carousel-control .glyphicon-chevron-right { | |
| position: absolute; | |
| top: 50%; | |
| margin-top: -10px; | |
| z-index: 5; | |
| display: inline-block; | |
| } | |
| .carousel-control .icon-prev, | |
| .carousel-control .glyphicon-chevron-left { | |
| left: 50%; | |
| margin-left: -10px; | |
| } | |
| .carousel-control .icon-next, | |
| .carousel-control .glyphicon-chevron-right { | |
| right: 50%; | |
| margin-right: -10px; | |
| } | |
| .carousel-control .icon-prev, | |
| .carousel-control .icon-next { | |
| width: 20px; | |
| height: 20px; | |
| line-height: 1; | |
| font-family: serif; | |
| } | |
| .carousel-control .icon-prev:before { | |
| content: '\2039'; | |
| } | |
| .carousel-control .icon-next:before { | |
| content: '\203a'; | |
| } | |
| .carousel-indicators { | |
| position: absolute; | |
| bottom: 10px; | |
| left: 50%; | |
| z-index: 15; | |
| width: 60%; | |
| margin-left: -30%; | |
| padding-left: 0; | |
| list-style: none; | |
| text-align: center; | |
| } | |
| .carousel-indicators li { | |
| display: inline-block; | |
| width: 10px; | |
| height: 10px; | |
| margin: 1px; | |
| text-indent: -999px; | |
| border: 1px solid #fff; | |
| border-radius: 10px; | |
| cursor: pointer; | |
| background-color: #000 \9; | |
| background-color: rgba(0, 0, 0, 0); | |
| } | |
| .carousel-indicators .active { | |
| margin: 0; | |
| width: 12px; | |
| height: 12px; | |
| background-color: #fff; | |
| } | |
| .carousel-caption { | |
| position: absolute; | |
| left: 15%; | |
| right: 15%; | |
| bottom: 20px; | |
| z-index: 10; | |
| padding-top: 20px; | |
| padding-bottom: 20px; | |
| color: #fff; | |
| text-align: center; | |
| text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); | |
| } | |
| .carousel-caption .btn { | |
| text-shadow: none; | |
| } | |
| @media screen and (min-width: 768px) { | |
| .carousel-control .glyphicon-chevron-left, | |
| .carousel-control .glyphicon-chevron-right, | |
| .carousel-control .icon-prev, | |
| .carousel-control .icon-next { | |
| width: 30px; | |
| height: 30px; | |
| margin-top: -10px; | |
| font-size: 30px; | |
| } | |
| .carousel-control .glyphicon-chevron-left, | |
| .carousel-control .icon-prev { | |
| margin-left: -10px; | |
| } | |
| .carousel-control .glyphicon-chevron-right, | |
| .carousel-control .icon-next { | |
| margin-right: -10px; | |
| } | |
| .carousel-caption { | |
| left: 20%; | |
| right: 20%; | |
| padding-bottom: 30px; | |
| } | |
| .carousel-indicators { | |
| bottom: 20px; | |
| } | |
| } | |
| .clearfix:before, | |
| .clearfix:after, | |
| .dl-horizontal dd:before, | |
| .dl-horizontal dd:after, | |
| .container:before, | |
| .container:after, | |
| .container-fluid:before, | |
| .container-fluid:after, | |
| .row:before, | |
| .row:after, | |
| .form-horizontal .form-group:before, | |
| .form-horizontal .form-group:after, | |
| .btn-toolbar:before, | |
| .btn-toolbar:after, | |
| .btn-group-vertical > .btn-group:before, | |
| .btn-group-vertical > .btn-group:after, | |
| .nav:before, | |
| .nav:after, | |
| .navbar:before, | |
| .navbar:after, | |
| .navbar-header:before, | |
| .navbar-header:after, | |
| .navbar-collapse:before, | |
| .navbar-collapse:after, | |
| .pager:before, | |
| .pager:after, | |
| .panel-body:before, | |
| .panel-body:after, | |
| .modal-header:before, | |
| .modal-header:after, | |
| .modal-footer:before, | |
| .modal-footer:after, | |
| .item_buttons:before, | |
| .item_buttons:after { | |
| content: " "; | |
| display: table; | |
| } | |
| .clearfix:after, | |
| .dl-horizontal dd:after, | |
| .container:after, | |
| .container-fluid:after, | |
| .row:after, | |
| .form-horizontal .form-group:after, | |
| .btn-toolbar:after, | |
| .btn-group-vertical > .btn-group:after, | |
| .nav:after, | |
| .navbar:after, | |
| .navbar-header:after, | |
| .navbar-collapse:after, | |
| .pager:after, | |
| .panel-body:after, | |
| .modal-header:after, | |
| .modal-footer:after, | |
| .item_buttons:after { | |
| clear: both; | |
| } | |
| .center-block { | |
| display: block; | |
| margin-left: auto; | |
| margin-right: auto; | |
| } | |
| .pull-right { | |
| float: right !important; | |
| } | |
| .pull-left { | |
| float: left !important; | |
| } | |
| .hide { | |
| display: none !important; | |
| } | |
| .show { | |
| display: block !important; | |
| } | |
| .invisible { | |
| visibility: hidden; | |
| } | |
| .text-hide { | |
| font: 0/0 a; | |
| color: transparent; | |
| text-shadow: none; | |
| background-color: transparent; | |
| border: 0; | |
| } | |
| .hidden { | |
| display: none !important; | |
| } | |
| .affix { | |
| position: fixed; | |
| } | |
| @-ms-viewport { | |
| width: device-width; | |
| } | |
| .visible-xs, | |
| .visible-sm, | |
| .visible-md, | |
| .visible-lg { | |
| display: none !important; | |
| } | |
| .visible-xs-block, | |
| .visible-xs-inline, | |
| .visible-xs-inline-block, | |
| .visible-sm-block, | |
| .visible-sm-inline, | |
| .visible-sm-inline-block, | |
| .visible-md-block, | |
| .visible-md-inline, | |
| .visible-md-inline-block, | |
| .visible-lg-block, | |
| .visible-lg-inline, | |
| .visible-lg-inline-block { | |
| display: none !important; | |
| } | |
| @media (max-width: 767px) { | |
| .visible-xs { | |
| display: block !important; | |
| } | |
| table.visible-xs { | |
| display: table !important; | |
| } | |
| tr.visible-xs { | |
| display: table-row !important; | |
| } | |
| th.visible-xs, | |
| td.visible-xs { | |
| display: table-cell !important; | |
| } | |
| } | |
| @media (max-width: 767px) { | |
| .visible-xs-block { | |
| display: block !important; | |
| } | |
| } | |
| @media (max-width: 767px) { | |
| .visible-xs-inline { | |
| display: inline !important; | |
| } | |
| } | |
| @media (max-width: 767px) { | |
| .visible-xs-inline-block { | |
| display: inline-block !important; | |
| } | |
| } | |
| @media (min-width: 768px) and (max-width: 991px) { | |
| .visible-sm { | |
| display: block !important; | |
| } | |
| table.visible-sm { | |
| display: table !important; | |
| } | |
| tr.visible-sm { | |
| display: table-row !important; | |
| } | |
| th.visible-sm, | |
| td.visible-sm { | |
| display: table-cell !important; | |
| } | |
| } | |
| @media (min-width: 768px) and (max-width: 991px) { | |
| .visible-sm-block { | |
| display: block !important; | |
| } | |
| } | |
| @media (min-width: 768px) and (max-width: 991px) { | |
| .visible-sm-inline { | |
| display: inline !important; | |
| } | |
| } | |
| @media (min-width: 768px) and (max-width: 991px) { | |
| .visible-sm-inline-block { | |
| display: inline-block !important; | |
| } | |
| } | |
| @media (min-width: 992px) and (max-width: 1199px) { | |
| .visible-md { | |
| display: block !important; | |
| } | |
| table.visible-md { | |
| display: table !important; | |
| } | |
| tr.visible-md { | |
| display: table-row !important; | |
| } | |
| th.visible-md, | |
| td.visible-md { | |
| display: table-cell !important; | |
| } | |
| } | |
| @media (min-width: 992px) and (max-width: 1199px) { | |
| .visible-md-block { | |
| display: block !important; | |
| } | |
| } | |
| @media (min-width: 992px) and (max-width: 1199px) { | |
| .visible-md-inline { | |
| display: inline !important; | |
| } | |
| } | |
| @media (min-width: 992px) and (max-width: 1199px) { | |
| .visible-md-inline-block { | |
| display: inline-block !important; | |
| } | |
| } | |
| @media (min-width: 1200px) { | |
| .visible-lg { | |
| display: block !important; | |
| } | |
| table.visible-lg { | |
| display: table !important; | |
| } | |
| tr.visible-lg { | |
| display: table-row !important; | |
| } | |
| th.visible-lg, | |
| td.visible-lg { | |
| display: table-cell !important; | |
| } | |
| } | |
| @media (min-width: 1200px) { | |
| .visible-lg-block { | |
| display: block !important; | |
| } | |
| } | |
| @media (min-width: 1200px) { | |
| .visible-lg-inline { | |
| display: inline !important; | |
| } | |
| } | |
| @media (min-width: 1200px) { | |
| .visible-lg-inline-block { | |
| display: inline-block !important; | |
| } | |
| } | |
| @media (max-width: 767px) { | |
| .hidden-xs { | |
| display: none !important; | |
| } | |
| } | |
| @media (min-width: 768px) and (max-width: 991px) { | |
| .hidden-sm { | |
| display: none !important; | |
| } | |
| } | |
| @media (min-width: 992px) and (max-width: 1199px) { | |
| .hidden-md { | |
| display: none !important; | |
| } | |
| } | |
| @media (min-width: 1200px) { | |
| .hidden-lg { | |
| display: none !important; | |
| } | |
| } | |
| .visible-print { | |
| display: none !important; | |
| } | |
| @media print { | |
| .visible-print { | |
| display: block !important; | |
| } | |
| table.visible-print { | |
| display: table !important; | |
| } | |
| tr.visible-print { | |
| display: table-row !important; | |
| } | |
| th.visible-print, | |
| td.visible-print { | |
| display: table-cell !important; | |
| } | |
| } | |
| .visible-print-block { | |
| display: none !important; | |
| } | |
| @media print { | |
| .visible-print-block { | |
| display: block !important; | |
| } | |
| } | |
| .visible-print-inline { | |
| display: none !important; | |
| } | |
| @media print { | |
| .visible-print-inline { | |
| display: inline !important; | |
| } | |
| } | |
| .visible-print-inline-block { | |
| display: none !important; | |
| } | |
| @media print { | |
| .visible-print-inline-block { | |
| display: inline-block !important; | |
| } | |
| } | |
| @media print { | |
| .hidden-print { | |
| display: none !important; | |
| } | |
| } | |
| /*! | |
| * | |
| * Font Awesome | |
| * | |
| */ | |
| /*! | |
| * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome | |
| * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) | |
| */ | |
| /* FONT PATH | |
| * -------------------------- */ | |
| @font-face { | |
| font-family: 'FontAwesome'; | |
| src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.7.0'); | |
| src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg'); | |
| font-weight: normal; | |
| font-style: normal; | |
| } | |
| .fa { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| } | |
| /* makes the font 33% larger relative to the icon container */ | |
| .fa-lg { | |
| font-size: 1.33333333em; | |
| line-height: 0.75em; | |
| vertical-align: -15%; | |
| } | |
| .fa-2x { | |
| font-size: 2em; | |
| } | |
| .fa-3x { | |
| font-size: 3em; | |
| } | |
| .fa-4x { | |
| font-size: 4em; | |
| } | |
| .fa-5x { | |
| font-size: 5em; | |
| } | |
| .fa-fw { | |
| width: 1.28571429em; | |
| text-align: center; | |
| } | |
| .fa-ul { | |
| padding-left: 0; | |
| margin-left: 2.14285714em; | |
| list-style-type: none; | |
| } | |
| .fa-ul > li { | |
| position: relative; | |
| } | |
| .fa-li { | |
| position: absolute; | |
| left: -2.14285714em; | |
| width: 2.14285714em; | |
| top: 0.14285714em; | |
| text-align: center; | |
| } | |
| .fa-li.fa-lg { | |
| left: -1.85714286em; | |
| } | |
| .fa-border { | |
| padding: .2em .25em .15em; | |
| border: solid 0.08em #eee; | |
| border-radius: .1em; | |
| } | |
| .fa-pull-left { | |
| float: left; | |
| } | |
| .fa-pull-right { | |
| float: right; | |
| } | |
| .fa.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .fa.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| /* Deprecated as of 4.4.0 */ | |
| .pull-right { | |
| float: right; | |
| } | |
| .pull-left { | |
| float: left; | |
| } | |
| .fa.pull-left { | |
| margin-right: .3em; | |
| } | |
| .fa.pull-right { | |
| margin-left: .3em; | |
| } | |
| .fa-spin { | |
| -webkit-animation: fa-spin 2s infinite linear; | |
| animation: fa-spin 2s infinite linear; | |
| } | |
| .fa-pulse { | |
| -webkit-animation: fa-spin 1s infinite steps(8); | |
| animation: fa-spin 1s infinite steps(8); | |
| } | |
| @-webkit-keyframes fa-spin { | |
| 0% { | |
| -webkit-transform: rotate(0deg); | |
| transform: rotate(0deg); | |
| } | |
| 100% { | |
| -webkit-transform: rotate(359deg); | |
| transform: rotate(359deg); | |
| } | |
| } | |
| @keyframes fa-spin { | |
| 0% { | |
| -webkit-transform: rotate(0deg); | |
| transform: rotate(0deg); | |
| } | |
| 100% { | |
| -webkit-transform: rotate(359deg); | |
| transform: rotate(359deg); | |
| } | |
| } | |
| .fa-rotate-90 { | |
| -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; | |
| -webkit-transform: rotate(90deg); | |
| -ms-transform: rotate(90deg); | |
| transform: rotate(90deg); | |
| } | |
| .fa-rotate-180 { | |
| -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; | |
| -webkit-transform: rotate(180deg); | |
| -ms-transform: rotate(180deg); | |
| transform: rotate(180deg); | |
| } | |
| .fa-rotate-270 { | |
| -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; | |
| -webkit-transform: rotate(270deg); | |
| -ms-transform: rotate(270deg); | |
| transform: rotate(270deg); | |
| } | |
| .fa-flip-horizontal { | |
| -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; | |
| -webkit-transform: scale(-1, 1); | |
| -ms-transform: scale(-1, 1); | |
| transform: scale(-1, 1); | |
| } | |
| .fa-flip-vertical { | |
| -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; | |
| -webkit-transform: scale(1, -1); | |
| -ms-transform: scale(1, -1); | |
| transform: scale(1, -1); | |
| } | |
| :root .fa-rotate-90, | |
| :root .fa-rotate-180, | |
| :root .fa-rotate-270, | |
| :root .fa-flip-horizontal, | |
| :root .fa-flip-vertical { | |
| filter: none; | |
| } | |
| .fa-stack { | |
| position: relative; | |
| display: inline-block; | |
| width: 2em; | |
| height: 2em; | |
| line-height: 2em; | |
| vertical-align: middle; | |
| } | |
| .fa-stack-1x, | |
| .fa-stack-2x { | |
| position: absolute; | |
| left: 0; | |
| width: 100%; | |
| text-align: center; | |
| } | |
| .fa-stack-1x { | |
| line-height: inherit; | |
| } | |
| .fa-stack-2x { | |
| font-size: 2em; | |
| } | |
| .fa-inverse { | |
| color: #fff; | |
| } | |
| /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen | |
| readers do not read off random characters that represent icons */ | |
| .fa-glass:before { | |
| content: "\f000"; | |
| } | |
| .fa-music:before { | |
| content: "\f001"; | |
| } | |
| .fa-search:before { | |
| content: "\f002"; | |
| } | |
| .fa-envelope-o:before { | |
| content: "\f003"; | |
| } | |
| .fa-heart:before { | |
| content: "\f004"; | |
| } | |
| .fa-star:before { | |
| content: "\f005"; | |
| } | |
| .fa-star-o:before { | |
| content: "\f006"; | |
| } | |
| .fa-user:before { | |
| content: "\f007"; | |
| } | |
| .fa-film:before { | |
| content: "\f008"; | |
| } | |
| .fa-th-large:before { | |
| content: "\f009"; | |
| } | |
| .fa-th:before { | |
| content: "\f00a"; | |
| } | |
| .fa-th-list:before { | |
| content: "\f00b"; | |
| } | |
| .fa-check:before { | |
| content: "\f00c"; | |
| } | |
| .fa-remove:before, | |
| .fa-close:before, | |
| .fa-times:before { | |
| content: "\f00d"; | |
| } | |
| .fa-search-plus:before { | |
| content: "\f00e"; | |
| } | |
| .fa-search-minus:before { | |
| content: "\f010"; | |
| } | |
| .fa-power-off:before { | |
| content: "\f011"; | |
| } | |
| .fa-signal:before { | |
| content: "\f012"; | |
| } | |
| .fa-gear:before, | |
| .fa-cog:before { | |
| content: "\f013"; | |
| } | |
| .fa-trash-o:before { | |
| content: "\f014"; | |
| } | |
| .fa-home:before { | |
| content: "\f015"; | |
| } | |
| .fa-file-o:before { | |
| content: "\f016"; | |
| } | |
| .fa-clock-o:before { | |
| content: "\f017"; | |
| } | |
| .fa-road:before { | |
| content: "\f018"; | |
| } | |
| .fa-download:before { | |
| content: "\f019"; | |
| } | |
| .fa-arrow-circle-o-down:before { | |
| content: "\f01a"; | |
| } | |
| .fa-arrow-circle-o-up:before { | |
| content: "\f01b"; | |
| } | |
| .fa-inbox:before { | |
| content: "\f01c"; | |
| } | |
| .fa-play-circle-o:before { | |
| content: "\f01d"; | |
| } | |
| .fa-rotate-right:before, | |
| .fa-repeat:before { | |
| content: "\f01e"; | |
| } | |
| .fa-refresh:before { | |
| content: "\f021"; | |
| } | |
| .fa-list-alt:before { | |
| content: "\f022"; | |
| } | |
| .fa-lock:before { | |
| content: "\f023"; | |
| } | |
| .fa-flag:before { | |
| content: "\f024"; | |
| } | |
| .fa-headphones:before { | |
| content: "\f025"; | |
| } | |
| .fa-volume-off:before { | |
| content: "\f026"; | |
| } | |
| .fa-volume-down:before { | |
| content: "\f027"; | |
| } | |
| .fa-volume-up:before { | |
| content: "\f028"; | |
| } | |
| .fa-qrcode:before { | |
| content: "\f029"; | |
| } | |
| .fa-barcode:before { | |
| content: "\f02a"; | |
| } | |
| .fa-tag:before { | |
| content: "\f02b"; | |
| } | |
| .fa-tags:before { | |
| content: "\f02c"; | |
| } | |
| .fa-book:before { | |
| content: "\f02d"; | |
| } | |
| .fa-bookmark:before { | |
| content: "\f02e"; | |
| } | |
| .fa-print:before { | |
| content: "\f02f"; | |
| } | |
| .fa-camera:before { | |
| content: "\f030"; | |
| } | |
| .fa-font:before { | |
| content: "\f031"; | |
| } | |
| .fa-bold:before { | |
| content: "\f032"; | |
| } | |
| .fa-italic:before { | |
| content: "\f033"; | |
| } | |
| .fa-text-height:before { | |
| content: "\f034"; | |
| } | |
| .fa-text-width:before { | |
| content: "\f035"; | |
| } | |
| .fa-align-left:before { | |
| content: "\f036"; | |
| } | |
| .fa-align-center:before { | |
| content: "\f037"; | |
| } | |
| .fa-align-right:before { | |
| content: "\f038"; | |
| } | |
| .fa-align-justify:before { | |
| content: "\f039"; | |
| } | |
| .fa-list:before { | |
| content: "\f03a"; | |
| } | |
| .fa-dedent:before, | |
| .fa-outdent:before { | |
| content: "\f03b"; | |
| } | |
| .fa-indent:before { | |
| content: "\f03c"; | |
| } | |
| .fa-video-camera:before { | |
| content: "\f03d"; | |
| } | |
| .fa-photo:before, | |
| .fa-image:before, | |
| .fa-picture-o:before { | |
| content: "\f03e"; | |
| } | |
| .fa-pencil:before { | |
| content: "\f040"; | |
| } | |
| .fa-map-marker:before { | |
| content: "\f041"; | |
| } | |
| .fa-adjust:before { | |
| content: "\f042"; | |
| } | |
| .fa-tint:before { | |
| content: "\f043"; | |
| } | |
| .fa-edit:before, | |
| .fa-pencil-square-o:before { | |
| content: "\f044"; | |
| } | |
| .fa-share-square-o:before { | |
| content: "\f045"; | |
| } | |
| .fa-check-square-o:before { | |
| content: "\f046"; | |
| } | |
| .fa-arrows:before { | |
| content: "\f047"; | |
| } | |
| .fa-step-backward:before { | |
| content: "\f048"; | |
| } | |
| .fa-fast-backward:before { | |
| content: "\f049"; | |
| } | |
| .fa-backward:before { | |
| content: "\f04a"; | |
| } | |
| .fa-play:before { | |
| content: "\f04b"; | |
| } | |
| .fa-pause:before { | |
| content: "\f04c"; | |
| } | |
| .fa-stop:before { | |
| content: "\f04d"; | |
| } | |
| .fa-forward:before { | |
| content: "\f04e"; | |
| } | |
| .fa-fast-forward:before { | |
| content: "\f050"; | |
| } | |
| .fa-step-forward:before { | |
| content: "\f051"; | |
| } | |
| .fa-eject:before { | |
| content: "\f052"; | |
| } | |
| .fa-chevron-left:before { | |
| content: "\f053"; | |
| } | |
| .fa-chevron-right:before { | |
| content: "\f054"; | |
| } | |
| .fa-plus-circle:before { | |
| content: "\f055"; | |
| } | |
| .fa-minus-circle:before { | |
| content: "\f056"; | |
| } | |
| .fa-times-circle:before { | |
| content: "\f057"; | |
| } | |
| .fa-check-circle:before { | |
| content: "\f058"; | |
| } | |
| .fa-question-circle:before { | |
| content: "\f059"; | |
| } | |
| .fa-info-circle:before { | |
| content: "\f05a"; | |
| } | |
| .fa-crosshairs:before { | |
| content: "\f05b"; | |
| } | |
| .fa-times-circle-o:before { | |
| content: "\f05c"; | |
| } | |
| .fa-check-circle-o:before { | |
| content: "\f05d"; | |
| } | |
| .fa-ban:before { | |
| content: "\f05e"; | |
| } | |
| .fa-arrow-left:before { | |
| content: "\f060"; | |
| } | |
| .fa-arrow-right:before { | |
| content: "\f061"; | |
| } | |
| .fa-arrow-up:before { | |
| content: "\f062"; | |
| } | |
| .fa-arrow-down:before { | |
| content: "\f063"; | |
| } | |
| .fa-mail-forward:before, | |
| .fa-share:before { | |
| content: "\f064"; | |
| } | |
| .fa-expand:before { | |
| content: "\f065"; | |
| } | |
| .fa-compress:before { | |
| content: "\f066"; | |
| } | |
| .fa-plus:before { | |
| content: "\f067"; | |
| } | |
| .fa-minus:before { | |
| content: "\f068"; | |
| } | |
| .fa-asterisk:before { | |
| content: "\f069"; | |
| } | |
| .fa-exclamation-circle:before { | |
| content: "\f06a"; | |
| } | |
| .fa-gift:before { | |
| content: "\f06b"; | |
| } | |
| .fa-leaf:before { | |
| content: "\f06c"; | |
| } | |
| .fa-fire:before { | |
| content: "\f06d"; | |
| } | |
| .fa-eye:before { | |
| content: "\f06e"; | |
| } | |
| .fa-eye-slash:before { | |
| content: "\f070"; | |
| } | |
| .fa-warning:before, | |
| .fa-exclamation-triangle:before { | |
| content: "\f071"; | |
| } | |
| .fa-plane:before { | |
| content: "\f072"; | |
| } | |
| .fa-calendar:before { | |
| content: "\f073"; | |
| } | |
| .fa-random:before { | |
| content: "\f074"; | |
| } | |
| .fa-comment:before { | |
| content: "\f075"; | |
| } | |
| .fa-magnet:before { | |
| content: "\f076"; | |
| } | |
| .fa-chevron-up:before { | |
| content: "\f077"; | |
| } | |
| .fa-chevron-down:before { | |
| content: "\f078"; | |
| } | |
| .fa-retweet:before { | |
| content: "\f079"; | |
| } | |
| .fa-shopping-cart:before { | |
| content: "\f07a"; | |
| } | |
| .fa-folder:before { | |
| content: "\f07b"; | |
| } | |
| .fa-folder-open:before { | |
| content: "\f07c"; | |
| } | |
| .fa-arrows-v:before { | |
| content: "\f07d"; | |
| } | |
| .fa-arrows-h:before { | |
| content: "\f07e"; | |
| } | |
| .fa-bar-chart-o:before, | |
| .fa-bar-chart:before { | |
| content: "\f080"; | |
| } | |
| .fa-twitter-square:before { | |
| content: "\f081"; | |
| } | |
| .fa-facebook-square:before { | |
| content: "\f082"; | |
| } | |
| .fa-camera-retro:before { | |
| content: "\f083"; | |
| } | |
| .fa-key:before { | |
| content: "\f084"; | |
| } | |
| .fa-gears:before, | |
| .fa-cogs:before { | |
| content: "\f085"; | |
| } | |
| .fa-comments:before { | |
| content: "\f086"; | |
| } | |
| .fa-thumbs-o-up:before { | |
| content: "\f087"; | |
| } | |
| .fa-thumbs-o-down:before { | |
| content: "\f088"; | |
| } | |
| .fa-star-half:before { | |
| content: "\f089"; | |
| } | |
| .fa-heart-o:before { | |
| content: "\f08a"; | |
| } | |
| .fa-sign-out:before { | |
| content: "\f08b"; | |
| } | |
| .fa-linkedin-square:before { | |
| content: "\f08c"; | |
| } | |
| .fa-thumb-tack:before { | |
| content: "\f08d"; | |
| } | |
| .fa-external-link:before { | |
| content: "\f08e"; | |
| } | |
| .fa-sign-in:before { | |
| content: "\f090"; | |
| } | |
| .fa-trophy:before { | |
| content: "\f091"; | |
| } | |
| .fa-github-square:before { | |
| content: "\f092"; | |
| } | |
| .fa-upload:before { | |
| content: "\f093"; | |
| } | |
| .fa-lemon-o:before { | |
| content: "\f094"; | |
| } | |
| .fa-phone:before { | |
| content: "\f095"; | |
| } | |
| .fa-square-o:before { | |
| content: "\f096"; | |
| } | |
| .fa-bookmark-o:before { | |
| content: "\f097"; | |
| } | |
| .fa-phone-square:before { | |
| content: "\f098"; | |
| } | |
| .fa-twitter:before { | |
| content: "\f099"; | |
| } | |
| .fa-facebook-f:before, | |
| .fa-facebook:before { | |
| content: "\f09a"; | |
| } | |
| .fa-github:before { | |
| content: "\f09b"; | |
| } | |
| .fa-unlock:before { | |
| content: "\f09c"; | |
| } | |
| .fa-credit-card:before { | |
| content: "\f09d"; | |
| } | |
| .fa-feed:before, | |
| .fa-rss:before { | |
| content: "\f09e"; | |
| } | |
| .fa-hdd-o:before { | |
| content: "\f0a0"; | |
| } | |
| .fa-bullhorn:before { | |
| content: "\f0a1"; | |
| } | |
| .fa-bell:before { | |
| content: "\f0f3"; | |
| } | |
| .fa-certificate:before { | |
| content: "\f0a3"; | |
| } | |
| .fa-hand-o-right:before { | |
| content: "\f0a4"; | |
| } | |
| .fa-hand-o-left:before { | |
| content: "\f0a5"; | |
| } | |
| .fa-hand-o-up:before { | |
| content: "\f0a6"; | |
| } | |
| .fa-hand-o-down:before { | |
| content: "\f0a7"; | |
| } | |
| .fa-arrow-circle-left:before { | |
| content: "\f0a8"; | |
| } | |
| .fa-arrow-circle-right:before { | |
| content: "\f0a9"; | |
| } | |
| .fa-arrow-circle-up:before { | |
| content: "\f0aa"; | |
| } | |
| .fa-arrow-circle-down:before { | |
| content: "\f0ab"; | |
| } | |
| .fa-globe:before { | |
| content: "\f0ac"; | |
| } | |
| .fa-wrench:before { | |
| content: "\f0ad"; | |
| } | |
| .fa-tasks:before { | |
| content: "\f0ae"; | |
| } | |
| .fa-filter:before { | |
| content: "\f0b0"; | |
| } | |
| .fa-briefcase:before { | |
| content: "\f0b1"; | |
| } | |
| .fa-arrows-alt:before { | |
| content: "\f0b2"; | |
| } | |
| .fa-group:before, | |
| .fa-users:before { | |
| content: "\f0c0"; | |
| } | |
| .fa-chain:before, | |
| .fa-link:before { | |
| content: "\f0c1"; | |
| } | |
| .fa-cloud:before { | |
| content: "\f0c2"; | |
| } | |
| .fa-flask:before { | |
| content: "\f0c3"; | |
| } | |
| .fa-cut:before, | |
| .fa-scissors:before { | |
| content: "\f0c4"; | |
| } | |
| .fa-copy:before, | |
| .fa-files-o:before { | |
| content: "\f0c5"; | |
| } | |
| .fa-paperclip:before { | |
| content: "\f0c6"; | |
| } | |
| .fa-save:before, | |
| .fa-floppy-o:before { | |
| content: "\f0c7"; | |
| } | |
| .fa-square:before { | |
| content: "\f0c8"; | |
| } | |
| .fa-navicon:before, | |
| .fa-reorder:before, | |
| .fa-bars:before { | |
| content: "\f0c9"; | |
| } | |
| .fa-list-ul:before { | |
| content: "\f0ca"; | |
| } | |
| .fa-list-ol:before { | |
| content: "\f0cb"; | |
| } | |
| .fa-strikethrough:before { | |
| content: "\f0cc"; | |
| } | |
| .fa-underline:before { | |
| content: "\f0cd"; | |
| } | |
| .fa-table:before { | |
| content: "\f0ce"; | |
| } | |
| .fa-magic:before { | |
| content: "\f0d0"; | |
| } | |
| .fa-truck:before { | |
| content: "\f0d1"; | |
| } | |
| .fa-pinterest:before { | |
| content: "\f0d2"; | |
| } | |
| .fa-pinterest-square:before { | |
| content: "\f0d3"; | |
| } | |
| .fa-google-plus-square:before { | |
| content: "\f0d4"; | |
| } | |
| .fa-google-plus:before { | |
| content: "\f0d5"; | |
| } | |
| .fa-money:before { | |
| content: "\f0d6"; | |
| } | |
| .fa-caret-down:before { | |
| content: "\f0d7"; | |
| } | |
| .fa-caret-up:before { | |
| content: "\f0d8"; | |
| } | |
| .fa-caret-left:before { | |
| content: "\f0d9"; | |
| } | |
| .fa-caret-right:before { | |
| content: "\f0da"; | |
| } | |
| .fa-columns:before { | |
| content: "\f0db"; | |
| } | |
| .fa-unsorted:before, | |
| .fa-sort:before { | |
| content: "\f0dc"; | |
| } | |
| .fa-sort-down:before, | |
| .fa-sort-desc:before { | |
| content: "\f0dd"; | |
| } | |
| .fa-sort-up:before, | |
| .fa-sort-asc:before { | |
| content: "\f0de"; | |
| } | |
| .fa-envelope:before { | |
| content: "\f0e0"; | |
| } | |
| .fa-linkedin:before { | |
| content: "\f0e1"; | |
| } | |
| .fa-rotate-left:before, | |
| .fa-undo:before { | |
| content: "\f0e2"; | |
| } | |
| .fa-legal:before, | |
| .fa-gavel:before { | |
| content: "\f0e3"; | |
| } | |
| .fa-dashboard:before, | |
| .fa-tachometer:before { | |
| content: "\f0e4"; | |
| } | |
| .fa-comment-o:before { | |
| content: "\f0e5"; | |
| } | |
| .fa-comments-o:before { | |
| content: "\f0e6"; | |
| } | |
| .fa-flash:before, | |
| .fa-bolt:before { | |
| content: "\f0e7"; | |
| } | |
| .fa-sitemap:before { | |
| content: "\f0e8"; | |
| } | |
| .fa-umbrella:before { | |
| content: "\f0e9"; | |
| } | |
| .fa-paste:before, | |
| .fa-clipboard:before { | |
| content: "\f0ea"; | |
| } | |
| .fa-lightbulb-o:before { | |
| content: "\f0eb"; | |
| } | |
| .fa-exchange:before { | |
| content: "\f0ec"; | |
| } | |
| .fa-cloud-download:before { | |
| content: "\f0ed"; | |
| } | |
| .fa-cloud-upload:before { | |
| content: "\f0ee"; | |
| } | |
| .fa-user-md:before { | |
| content: "\f0f0"; | |
| } | |
| .fa-stethoscope:before { | |
| content: "\f0f1"; | |
| } | |
| .fa-suitcase:before { | |
| content: "\f0f2"; | |
| } | |
| .fa-bell-o:before { | |
| content: "\f0a2"; | |
| } | |
| .fa-coffee:before { | |
| content: "\f0f4"; | |
| } | |
| .fa-cutlery:before { | |
| content: "\f0f5"; | |
| } | |
| .fa-file-text-o:before { | |
| content: "\f0f6"; | |
| } | |
| .fa-building-o:before { | |
| content: "\f0f7"; | |
| } | |
| .fa-hospital-o:before { | |
| content: "\f0f8"; | |
| } | |
| .fa-ambulance:before { | |
| content: "\f0f9"; | |
| } | |
| .fa-medkit:before { | |
| content: "\f0fa"; | |
| } | |
| .fa-fighter-jet:before { | |
| content: "\f0fb"; | |
| } | |
| .fa-beer:before { | |
| content: "\f0fc"; | |
| } | |
| .fa-h-square:before { | |
| content: "\f0fd"; | |
| } | |
| .fa-plus-square:before { | |
| content: "\f0fe"; | |
| } | |
| .fa-angle-double-left:before { | |
| content: "\f100"; | |
| } | |
| .fa-angle-double-right:before { | |
| content: "\f101"; | |
| } | |
| .fa-angle-double-up:before { | |
| content: "\f102"; | |
| } | |
| .fa-angle-double-down:before { | |
| content: "\f103"; | |
| } | |
| .fa-angle-left:before { | |
| content: "\f104"; | |
| } | |
| .fa-angle-right:before { | |
| content: "\f105"; | |
| } | |
| .fa-angle-up:before { | |
| content: "\f106"; | |
| } | |
| .fa-angle-down:before { | |
| content: "\f107"; | |
| } | |
| .fa-desktop:before { | |
| content: "\f108"; | |
| } | |
| .fa-laptop:before { | |
| content: "\f109"; | |
| } | |
| .fa-tablet:before { | |
| content: "\f10a"; | |
| } | |
| .fa-mobile-phone:before, | |
| .fa-mobile:before { | |
| content: "\f10b"; | |
| } | |
| .fa-circle-o:before { | |
| content: "\f10c"; | |
| } | |
| .fa-quote-left:before { | |
| content: "\f10d"; | |
| } | |
| .fa-quote-right:before { | |
| content: "\f10e"; | |
| } | |
| .fa-spinner:before { | |
| content: "\f110"; | |
| } | |
| .fa-circle:before { | |
| content: "\f111"; | |
| } | |
| .fa-mail-reply:before, | |
| .fa-reply:before { | |
| content: "\f112"; | |
| } | |
| .fa-github-alt:before { | |
| content: "\f113"; | |
| } | |
| .fa-folder-o:before { | |
| content: "\f114"; | |
| } | |
| .fa-folder-open-o:before { | |
| content: "\f115"; | |
| } | |
| .fa-smile-o:before { | |
| content: "\f118"; | |
| } | |
| .fa-frown-o:before { | |
| content: "\f119"; | |
| } | |
| .fa-meh-o:before { | |
| content: "\f11a"; | |
| } | |
| .fa-gamepad:before { | |
| content: "\f11b"; | |
| } | |
| .fa-keyboard-o:before { | |
| content: "\f11c"; | |
| } | |
| .fa-flag-o:before { | |
| content: "\f11d"; | |
| } | |
| .fa-flag-checkered:before { | |
| content: "\f11e"; | |
| } | |
| .fa-terminal:before { | |
| content: "\f120"; | |
| } | |
| .fa-code:before { | |
| content: "\f121"; | |
| } | |
| .fa-mail-reply-all:before, | |
| .fa-reply-all:before { | |
| content: "\f122"; | |
| } | |
| .fa-star-half-empty:before, | |
| .fa-star-half-full:before, | |
| .fa-star-half-o:before { | |
| content: "\f123"; | |
| } | |
| .fa-location-arrow:before { | |
| content: "\f124"; | |
| } | |
| .fa-crop:before { | |
| content: "\f125"; | |
| } | |
| .fa-code-fork:before { | |
| content: "\f126"; | |
| } | |
| .fa-unlink:before, | |
| .fa-chain-broken:before { | |
| content: "\f127"; | |
| } | |
| .fa-question:before { | |
| content: "\f128"; | |
| } | |
| .fa-info:before { | |
| content: "\f129"; | |
| } | |
| .fa-exclamation:before { | |
| content: "\f12a"; | |
| } | |
| .fa-superscript:before { | |
| content: "\f12b"; | |
| } | |
| .fa-subscript:before { | |
| content: "\f12c"; | |
| } | |
| .fa-eraser:before { | |
| content: "\f12d"; | |
| } | |
| .fa-puzzle-piece:before { | |
| content: "\f12e"; | |
| } | |
| .fa-microphone:before { | |
| content: "\f130"; | |
| } | |
| .fa-microphone-slash:before { | |
| content: "\f131"; | |
| } | |
| .fa-shield:before { | |
| content: "\f132"; | |
| } | |
| .fa-calendar-o:before { | |
| content: "\f133"; | |
| } | |
| .fa-fire-extinguisher:before { | |
| content: "\f134"; | |
| } | |
| .fa-rocket:before { | |
| content: "\f135"; | |
| } | |
| .fa-maxcdn:before { | |
| content: "\f136"; | |
| } | |
| .fa-chevron-circle-left:before { | |
| content: "\f137"; | |
| } | |
| .fa-chevron-circle-right:before { | |
| content: "\f138"; | |
| } | |
| .fa-chevron-circle-up:before { | |
| content: "\f139"; | |
| } | |
| .fa-chevron-circle-down:before { | |
| content: "\f13a"; | |
| } | |
| .fa-html5:before { | |
| content: "\f13b"; | |
| } | |
| .fa-css3:before { | |
| content: "\f13c"; | |
| } | |
| .fa-anchor:before { | |
| content: "\f13d"; | |
| } | |
| .fa-unlock-alt:before { | |
| content: "\f13e"; | |
| } | |
| .fa-bullseye:before { | |
| content: "\f140"; | |
| } | |
| .fa-ellipsis-h:before { | |
| content: "\f141"; | |
| } | |
| .fa-ellipsis-v:before { | |
| content: "\f142"; | |
| } | |
| .fa-rss-square:before { | |
| content: "\f143"; | |
| } | |
| .fa-play-circle:before { | |
| content: "\f144"; | |
| } | |
| .fa-ticket:before { | |
| content: "\f145"; | |
| } | |
| .fa-minus-square:before { | |
| content: "\f146"; | |
| } | |
| .fa-minus-square-o:before { | |
| content: "\f147"; | |
| } | |
| .fa-level-up:before { | |
| content: "\f148"; | |
| } | |
| .fa-level-down:before { | |
| content: "\f149"; | |
| } | |
| .fa-check-square:before { | |
| content: "\f14a"; | |
| } | |
| .fa-pencil-square:before { | |
| content: "\f14b"; | |
| } | |
| .fa-external-link-square:before { | |
| content: "\f14c"; | |
| } | |
| .fa-share-square:before { | |
| content: "\f14d"; | |
| } | |
| .fa-compass:before { | |
| content: "\f14e"; | |
| } | |
| .fa-toggle-down:before, | |
| .fa-caret-square-o-down:before { | |
| content: "\f150"; | |
| } | |
| .fa-toggle-up:before, | |
| .fa-caret-square-o-up:before { | |
| content: "\f151"; | |
| } | |
| .fa-toggle-right:before, | |
| .fa-caret-square-o-right:before { | |
| content: "\f152"; | |
| } | |
| .fa-euro:before, | |
| .fa-eur:before { | |
| content: "\f153"; | |
| } | |
| .fa-gbp:before { | |
| content: "\f154"; | |
| } | |
| .fa-dollar:before, | |
| .fa-usd:before { | |
| content: "\f155"; | |
| } | |
| .fa-rupee:before, | |
| .fa-inr:before { | |
| content: "\f156"; | |
| } | |
| .fa-cny:before, | |
| .fa-rmb:before, | |
| .fa-yen:before, | |
| .fa-jpy:before { | |
| content: "\f157"; | |
| } | |
| .fa-ruble:before, | |
| .fa-rouble:before, | |
| .fa-rub:before { | |
| content: "\f158"; | |
| } | |
| .fa-won:before, | |
| .fa-krw:before { | |
| content: "\f159"; | |
| } | |
| .fa-bitcoin:before, | |
| .fa-btc:before { | |
| content: "\f15a"; | |
| } | |
| .fa-file:before { | |
| content: "\f15b"; | |
| } | |
| .fa-file-text:before { | |
| content: "\f15c"; | |
| } | |
| .fa-sort-alpha-asc:before { | |
| content: "\f15d"; | |
| } | |
| .fa-sort-alpha-desc:before { | |
| content: "\f15e"; | |
| } | |
| .fa-sort-amount-asc:before { | |
| content: "\f160"; | |
| } | |
| .fa-sort-amount-desc:before { | |
| content: "\f161"; | |
| } | |
| .fa-sort-numeric-asc:before { | |
| content: "\f162"; | |
| } | |
| .fa-sort-numeric-desc:before { | |
| content: "\f163"; | |
| } | |
| .fa-thumbs-up:before { | |
| content: "\f164"; | |
| } | |
| .fa-thumbs-down:before { | |
| content: "\f165"; | |
| } | |
| .fa-youtube-square:before { | |
| content: "\f166"; | |
| } | |
| .fa-youtube:before { | |
| content: "\f167"; | |
| } | |
| .fa-xing:before { | |
| content: "\f168"; | |
| } | |
| .fa-xing-square:before { | |
| content: "\f169"; | |
| } | |
| .fa-youtube-play:before { | |
| content: "\f16a"; | |
| } | |
| .fa-dropbox:before { | |
| content: "\f16b"; | |
| } | |
| .fa-stack-overflow:before { | |
| content: "\f16c"; | |
| } | |
| .fa-instagram:before { | |
| content: "\f16d"; | |
| } | |
| .fa-flickr:before { | |
| content: "\f16e"; | |
| } | |
| .fa-adn:before { | |
| content: "\f170"; | |
| } | |
| .fa-bitbucket:before { | |
| content: "\f171"; | |
| } | |
| .fa-bitbucket-square:before { | |
| content: "\f172"; | |
| } | |
| .fa-tumblr:before { | |
| content: "\f173"; | |
| } | |
| .fa-tumblr-square:before { | |
| content: "\f174"; | |
| } | |
| .fa-long-arrow-down:before { | |
| content: "\f175"; | |
| } | |
| .fa-long-arrow-up:before { | |
| content: "\f176"; | |
| } | |
| .fa-long-arrow-left:before { | |
| content: "\f177"; | |
| } | |
| .fa-long-arrow-right:before { | |
| content: "\f178"; | |
| } | |
| .fa-apple:before { | |
| content: "\f179"; | |
| } | |
| .fa-windows:before { | |
| content: "\f17a"; | |
| } | |
| .fa-android:before { | |
| content: "\f17b"; | |
| } | |
| .fa-linux:before { | |
| content: "\f17c"; | |
| } | |
| .fa-dribbble:before { | |
| content: "\f17d"; | |
| } | |
| .fa-skype:before { | |
| content: "\f17e"; | |
| } | |
| .fa-foursquare:before { | |
| content: "\f180"; | |
| } | |
| .fa-trello:before { | |
| content: "\f181"; | |
| } | |
| .fa-female:before { | |
| content: "\f182"; | |
| } | |
| .fa-male:before { | |
| content: "\f183"; | |
| } | |
| .fa-gittip:before, | |
| .fa-gratipay:before { | |
| content: "\f184"; | |
| } | |
| .fa-sun-o:before { | |
| content: "\f185"; | |
| } | |
| .fa-moon-o:before { | |
| content: "\f186"; | |
| } | |
| .fa-archive:before { | |
| content: "\f187"; | |
| } | |
| .fa-bug:before { | |
| content: "\f188"; | |
| } | |
| .fa-vk:before { | |
| content: "\f189"; | |
| } | |
| .fa-weibo:before { | |
| content: "\f18a"; | |
| } | |
| .fa-renren:before { | |
| content: "\f18b"; | |
| } | |
| .fa-pagelines:before { | |
| content: "\f18c"; | |
| } | |
| .fa-stack-exchange:before { | |
| content: "\f18d"; | |
| } | |
| .fa-arrow-circle-o-right:before { | |
| content: "\f18e"; | |
| } | |
| .fa-arrow-circle-o-left:before { | |
| content: "\f190"; | |
| } | |
| .fa-toggle-left:before, | |
| .fa-caret-square-o-left:before { | |
| content: "\f191"; | |
| } | |
| .fa-dot-circle-o:before { | |
| content: "\f192"; | |
| } | |
| .fa-wheelchair:before { | |
| content: "\f193"; | |
| } | |
| .fa-vimeo-square:before { | |
| content: "\f194"; | |
| } | |
| .fa-turkish-lira:before, | |
| .fa-try:before { | |
| content: "\f195"; | |
| } | |
| .fa-plus-square-o:before { | |
| content: "\f196"; | |
| } | |
| .fa-space-shuttle:before { | |
| content: "\f197"; | |
| } | |
| .fa-slack:before { | |
| content: "\f198"; | |
| } | |
| .fa-envelope-square:before { | |
| content: "\f199"; | |
| } | |
| .fa-wordpress:before { | |
| content: "\f19a"; | |
| } | |
| .fa-openid:before { | |
| content: "\f19b"; | |
| } | |
| .fa-institution:before, | |
| .fa-bank:before, | |
| .fa-university:before { | |
| content: "\f19c"; | |
| } | |
| .fa-mortar-board:before, | |
| .fa-graduation-cap:before { | |
| content: "\f19d"; | |
| } | |
| .fa-yahoo:before { | |
| content: "\f19e"; | |
| } | |
| .fa-google:before { | |
| content: "\f1a0"; | |
| } | |
| .fa-reddit:before { | |
| content: "\f1a1"; | |
| } | |
| .fa-reddit-square:before { | |
| content: "\f1a2"; | |
| } | |
| .fa-stumbleupon-circle:before { | |
| content: "\f1a3"; | |
| } | |
| .fa-stumbleupon:before { | |
| content: "\f1a4"; | |
| } | |
| .fa-delicious:before { | |
| content: "\f1a5"; | |
| } | |
| .fa-digg:before { | |
| content: "\f1a6"; | |
| } | |
| .fa-pied-piper-pp:before { | |
| content: "\f1a7"; | |
| } | |
| .fa-pied-piper-alt:before { | |
| content: "\f1a8"; | |
| } | |
| .fa-drupal:before { | |
| content: "\f1a9"; | |
| } | |
| .fa-joomla:before { | |
| content: "\f1aa"; | |
| } | |
| .fa-language:before { | |
| content: "\f1ab"; | |
| } | |
| .fa-fax:before { | |
| content: "\f1ac"; | |
| } | |
| .fa-building:before { | |
| content: "\f1ad"; | |
| } | |
| .fa-child:before { | |
| content: "\f1ae"; | |
| } | |
| .fa-paw:before { | |
| content: "\f1b0"; | |
| } | |
| .fa-spoon:before { | |
| content: "\f1b1"; | |
| } | |
| .fa-cube:before { | |
| content: "\f1b2"; | |
| } | |
| .fa-cubes:before { | |
| content: "\f1b3"; | |
| } | |
| .fa-behance:before { | |
| content: "\f1b4"; | |
| } | |
| .fa-behance-square:before { | |
| content: "\f1b5"; | |
| } | |
| .fa-steam:before { | |
| content: "\f1b6"; | |
| } | |
| .fa-steam-square:before { | |
| content: "\f1b7"; | |
| } | |
| .fa-recycle:before { | |
| content: "\f1b8"; | |
| } | |
| .fa-automobile:before, | |
| .fa-car:before { | |
| content: "\f1b9"; | |
| } | |
| .fa-cab:before, | |
| .fa-taxi:before { | |
| content: "\f1ba"; | |
| } | |
| .fa-tree:before { | |
| content: "\f1bb"; | |
| } | |
| .fa-spotify:before { | |
| content: "\f1bc"; | |
| } | |
| .fa-deviantart:before { | |
| content: "\f1bd"; | |
| } | |
| .fa-soundcloud:before { | |
| content: "\f1be"; | |
| } | |
| .fa-database:before { | |
| content: "\f1c0"; | |
| } | |
| .fa-file-pdf-o:before { | |
| content: "\f1c1"; | |
| } | |
| .fa-file-word-o:before { | |
| content: "\f1c2"; | |
| } | |
| .fa-file-excel-o:before { | |
| content: "\f1c3"; | |
| } | |
| .fa-file-powerpoint-o:before { | |
| content: "\f1c4"; | |
| } | |
| .fa-file-photo-o:before, | |
| .fa-file-picture-o:before, | |
| .fa-file-image-o:before { | |
| content: "\f1c5"; | |
| } | |
| .fa-file-zip-o:before, | |
| .fa-file-archive-o:before { | |
| content: "\f1c6"; | |
| } | |
| .fa-file-sound-o:before, | |
| .fa-file-audio-o:before { | |
| content: "\f1c7"; | |
| } | |
| .fa-file-movie-o:before, | |
| .fa-file-video-o:before { | |
| content: "\f1c8"; | |
| } | |
| .fa-file-code-o:before { | |
| content: "\f1c9"; | |
| } | |
| .fa-vine:before { | |
| content: "\f1ca"; | |
| } | |
| .fa-codepen:before { | |
| content: "\f1cb"; | |
| } | |
| .fa-jsfiddle:before { | |
| content: "\f1cc"; | |
| } | |
| .fa-life-bouy:before, | |
| .fa-life-buoy:before, | |
| .fa-life-saver:before, | |
| .fa-support:before, | |
| .fa-life-ring:before { | |
| content: "\f1cd"; | |
| } | |
| .fa-circle-o-notch:before { | |
| content: "\f1ce"; | |
| } | |
| .fa-ra:before, | |
| .fa-resistance:before, | |
| .fa-rebel:before { | |
| content: "\f1d0"; | |
| } | |
| .fa-ge:before, | |
| .fa-empire:before { | |
| content: "\f1d1"; | |
| } | |
| .fa-git-square:before { | |
| content: "\f1d2"; | |
| } | |
| .fa-git:before { | |
| content: "\f1d3"; | |
| } | |
| .fa-y-combinator-square:before, | |
| .fa-yc-square:before, | |
| .fa-hacker-news:before { | |
| content: "\f1d4"; | |
| } | |
| .fa-tencent-weibo:before { | |
| content: "\f1d5"; | |
| } | |
| .fa-qq:before { | |
| content: "\f1d6"; | |
| } | |
| .fa-wechat:before, | |
| .fa-weixin:before { | |
| content: "\f1d7"; | |
| } | |
| .fa-send:before, | |
| .fa-paper-plane:before { | |
| content: "\f1d8"; | |
| } | |
| .fa-send-o:before, | |
| .fa-paper-plane-o:before { | |
| content: "\f1d9"; | |
| } | |
| .fa-history:before { | |
| content: "\f1da"; | |
| } | |
| .fa-circle-thin:before { | |
| content: "\f1db"; | |
| } | |
| .fa-header:before { | |
| content: "\f1dc"; | |
| } | |
| .fa-paragraph:before { | |
| content: "\f1dd"; | |
| } | |
| .fa-sliders:before { | |
| content: "\f1de"; | |
| } | |
| .fa-share-alt:before { | |
| content: "\f1e0"; | |
| } | |
| .fa-share-alt-square:before { | |
| content: "\f1e1"; | |
| } | |
| .fa-bomb:before { | |
| content: "\f1e2"; | |
| } | |
| .fa-soccer-ball-o:before, | |
| .fa-futbol-o:before { | |
| content: "\f1e3"; | |
| } | |
| .fa-tty:before { | |
| content: "\f1e4"; | |
| } | |
| .fa-binoculars:before { | |
| content: "\f1e5"; | |
| } | |
| .fa-plug:before { | |
| content: "\f1e6"; | |
| } | |
| .fa-slideshare:before { | |
| content: "\f1e7"; | |
| } | |
| .fa-twitch:before { | |
| content: "\f1e8"; | |
| } | |
| .fa-yelp:before { | |
| content: "\f1e9"; | |
| } | |
| .fa-newspaper-o:before { | |
| content: "\f1ea"; | |
| } | |
| .fa-wifi:before { | |
| content: "\f1eb"; | |
| } | |
| .fa-calculator:before { | |
| content: "\f1ec"; | |
| } | |
| .fa-paypal:before { | |
| content: "\f1ed"; | |
| } | |
| .fa-google-wallet:before { | |
| content: "\f1ee"; | |
| } | |
| .fa-cc-visa:before { | |
| content: "\f1f0"; | |
| } | |
| .fa-cc-mastercard:before { | |
| content: "\f1f1"; | |
| } | |
| .fa-cc-discover:before { | |
| content: "\f1f2"; | |
| } | |
| .fa-cc-amex:before { | |
| content: "\f1f3"; | |
| } | |
| .fa-cc-paypal:before { | |
| content: "\f1f4"; | |
| } | |
| .fa-cc-stripe:before { | |
| content: "\f1f5"; | |
| } | |
| .fa-bell-slash:before { | |
| content: "\f1f6"; | |
| } | |
| .fa-bell-slash-o:before { | |
| content: "\f1f7"; | |
| } | |
| .fa-trash:before { | |
| content: "\f1f8"; | |
| } | |
| .fa-copyright:before { | |
| content: "\f1f9"; | |
| } | |
| .fa-at:before { | |
| content: "\f1fa"; | |
| } | |
| .fa-eyedropper:before { | |
| content: "\f1fb"; | |
| } | |
| .fa-paint-brush:before { | |
| content: "\f1fc"; | |
| } | |
| .fa-birthday-cake:before { | |
| content: "\f1fd"; | |
| } | |
| .fa-area-chart:before { | |
| content: "\f1fe"; | |
| } | |
| .fa-pie-chart:before { | |
| content: "\f200"; | |
| } | |
| .fa-line-chart:before { | |
| content: "\f201"; | |
| } | |
| .fa-lastfm:before { | |
| content: "\f202"; | |
| } | |
| .fa-lastfm-square:before { | |
| content: "\f203"; | |
| } | |
| .fa-toggle-off:before { | |
| content: "\f204"; | |
| } | |
| .fa-toggle-on:before { | |
| content: "\f205"; | |
| } | |
| .fa-bicycle:before { | |
| content: "\f206"; | |
| } | |
| .fa-bus:before { | |
| content: "\f207"; | |
| } | |
| .fa-ioxhost:before { | |
| content: "\f208"; | |
| } | |
| .fa-angellist:before { | |
| content: "\f209"; | |
| } | |
| .fa-cc:before { | |
| content: "\f20a"; | |
| } | |
| .fa-shekel:before, | |
| .fa-sheqel:before, | |
| .fa-ils:before { | |
| content: "\f20b"; | |
| } | |
| .fa-meanpath:before { | |
| content: "\f20c"; | |
| } | |
| .fa-buysellads:before { | |
| content: "\f20d"; | |
| } | |
| .fa-connectdevelop:before { | |
| content: "\f20e"; | |
| } | |
| .fa-dashcube:before { | |
| content: "\f210"; | |
| } | |
| .fa-forumbee:before { | |
| content: "\f211"; | |
| } | |
| .fa-leanpub:before { | |
| content: "\f212"; | |
| } | |
| .fa-sellsy:before { | |
| content: "\f213"; | |
| } | |
| .fa-shirtsinbulk:before { | |
| content: "\f214"; | |
| } | |
| .fa-simplybuilt:before { | |
| content: "\f215"; | |
| } | |
| .fa-skyatlas:before { | |
| content: "\f216"; | |
| } | |
| .fa-cart-plus:before { | |
| content: "\f217"; | |
| } | |
| .fa-cart-arrow-down:before { | |
| content: "\f218"; | |
| } | |
| .fa-diamond:before { | |
| content: "\f219"; | |
| } | |
| .fa-ship:before { | |
| content: "\f21a"; | |
| } | |
| .fa-user-secret:before { | |
| content: "\f21b"; | |
| } | |
| .fa-motorcycle:before { | |
| content: "\f21c"; | |
| } | |
| .fa-street-view:before { | |
| content: "\f21d"; | |
| } | |
| .fa-heartbeat:before { | |
| content: "\f21e"; | |
| } | |
| .fa-venus:before { | |
| content: "\f221"; | |
| } | |
| .fa-mars:before { | |
| content: "\f222"; | |
| } | |
| .fa-mercury:before { | |
| content: "\f223"; | |
| } | |
| .fa-intersex:before, | |
| .fa-transgender:before { | |
| content: "\f224"; | |
| } | |
| .fa-transgender-alt:before { | |
| content: "\f225"; | |
| } | |
| .fa-venus-double:before { | |
| content: "\f226"; | |
| } | |
| .fa-mars-double:before { | |
| content: "\f227"; | |
| } | |
| .fa-venus-mars:before { | |
| content: "\f228"; | |
| } | |
| .fa-mars-stroke:before { | |
| content: "\f229"; | |
| } | |
| .fa-mars-stroke-v:before { | |
| content: "\f22a"; | |
| } | |
| .fa-mars-stroke-h:before { | |
| content: "\f22b"; | |
| } | |
| .fa-neuter:before { | |
| content: "\f22c"; | |
| } | |
| .fa-genderless:before { | |
| content: "\f22d"; | |
| } | |
| .fa-facebook-official:before { | |
| content: "\f230"; | |
| } | |
| .fa-pinterest-p:before { | |
| content: "\f231"; | |
| } | |
| .fa-whatsapp:before { | |
| content: "\f232"; | |
| } | |
| .fa-server:before { | |
| content: "\f233"; | |
| } | |
| .fa-user-plus:before { | |
| content: "\f234"; | |
| } | |
| .fa-user-times:before { | |
| content: "\f235"; | |
| } | |
| .fa-hotel:before, | |
| .fa-bed:before { | |
| content: "\f236"; | |
| } | |
| .fa-viacoin:before { | |
| content: "\f237"; | |
| } | |
| .fa-train:before { | |
| content: "\f238"; | |
| } | |
| .fa-subway:before { | |
| content: "\f239"; | |
| } | |
| .fa-medium:before { | |
| content: "\f23a"; | |
| } | |
| .fa-yc:before, | |
| .fa-y-combinator:before { | |
| content: "\f23b"; | |
| } | |
| .fa-optin-monster:before { | |
| content: "\f23c"; | |
| } | |
| .fa-opencart:before { | |
| content: "\f23d"; | |
| } | |
| .fa-expeditedssl:before { | |
| content: "\f23e"; | |
| } | |
| .fa-battery-4:before, | |
| .fa-battery:before, | |
| .fa-battery-full:before { | |
| content: "\f240"; | |
| } | |
| .fa-battery-3:before, | |
| .fa-battery-three-quarters:before { | |
| content: "\f241"; | |
| } | |
| .fa-battery-2:before, | |
| .fa-battery-half:before { | |
| content: "\f242"; | |
| } | |
| .fa-battery-1:before, | |
| .fa-battery-quarter:before { | |
| content: "\f243"; | |
| } | |
| .fa-battery-0:before, | |
| .fa-battery-empty:before { | |
| content: "\f244"; | |
| } | |
| .fa-mouse-pointer:before { | |
| content: "\f245"; | |
| } | |
| .fa-i-cursor:before { | |
| content: "\f246"; | |
| } | |
| .fa-object-group:before { | |
| content: "\f247"; | |
| } | |
| .fa-object-ungroup:before { | |
| content: "\f248"; | |
| } | |
| .fa-sticky-note:before { | |
| content: "\f249"; | |
| } | |
| .fa-sticky-note-o:before { | |
| content: "\f24a"; | |
| } | |
| .fa-cc-jcb:before { | |
| content: "\f24b"; | |
| } | |
| .fa-cc-diners-club:before { | |
| content: "\f24c"; | |
| } | |
| .fa-clone:before { | |
| content: "\f24d"; | |
| } | |
| .fa-balance-scale:before { | |
| content: "\f24e"; | |
| } | |
| .fa-hourglass-o:before { | |
| content: "\f250"; | |
| } | |
| .fa-hourglass-1:before, | |
| .fa-hourglass-start:before { | |
| content: "\f251"; | |
| } | |
| .fa-hourglass-2:before, | |
| .fa-hourglass-half:before { | |
| content: "\f252"; | |
| } | |
| .fa-hourglass-3:before, | |
| .fa-hourglass-end:before { | |
| content: "\f253"; | |
| } | |
| .fa-hourglass:before { | |
| content: "\f254"; | |
| } | |
| .fa-hand-grab-o:before, | |
| .fa-hand-rock-o:before { | |
| content: "\f255"; | |
| } | |
| .fa-hand-stop-o:before, | |
| .fa-hand-paper-o:before { | |
| content: "\f256"; | |
| } | |
| .fa-hand-scissors-o:before { | |
| content: "\f257"; | |
| } | |
| .fa-hand-lizard-o:before { | |
| content: "\f258"; | |
| } | |
| .fa-hand-spock-o:before { | |
| content: "\f259"; | |
| } | |
| .fa-hand-pointer-o:before { | |
| content: "\f25a"; | |
| } | |
| .fa-hand-peace-o:before { | |
| content: "\f25b"; | |
| } | |
| .fa-trademark:before { | |
| content: "\f25c"; | |
| } | |
| .fa-registered:before { | |
| content: "\f25d"; | |
| } | |
| .fa-creative-commons:before { | |
| content: "\f25e"; | |
| } | |
| .fa-gg:before { | |
| content: "\f260"; | |
| } | |
| .fa-gg-circle:before { | |
| content: "\f261"; | |
| } | |
| .fa-tripadvisor:before { | |
| content: "\f262"; | |
| } | |
| .fa-odnoklassniki:before { | |
| content: "\f263"; | |
| } | |
| .fa-odnoklassniki-square:before { | |
| content: "\f264"; | |
| } | |
| .fa-get-pocket:before { | |
| content: "\f265"; | |
| } | |
| .fa-wikipedia-w:before { | |
| content: "\f266"; | |
| } | |
| .fa-safari:before { | |
| content: "\f267"; | |
| } | |
| .fa-chrome:before { | |
| content: "\f268"; | |
| } | |
| .fa-firefox:before { | |
| content: "\f269"; | |
| } | |
| .fa-opera:before { | |
| content: "\f26a"; | |
| } | |
| .fa-internet-explorer:before { | |
| content: "\f26b"; | |
| } | |
| .fa-tv:before, | |
| .fa-television:before { | |
| content: "\f26c"; | |
| } | |
| .fa-contao:before { | |
| content: "\f26d"; | |
| } | |
| .fa-500px:before { | |
| content: "\f26e"; | |
| } | |
| .fa-amazon:before { | |
| content: "\f270"; | |
| } | |
| .fa-calendar-plus-o:before { | |
| content: "\f271"; | |
| } | |
| .fa-calendar-minus-o:before { | |
| content: "\f272"; | |
| } | |
| .fa-calendar-times-o:before { | |
| content: "\f273"; | |
| } | |
| .fa-calendar-check-o:before { | |
| content: "\f274"; | |
| } | |
| .fa-industry:before { | |
| content: "\f275"; | |
| } | |
| .fa-map-pin:before { | |
| content: "\f276"; | |
| } | |
| .fa-map-signs:before { | |
| content: "\f277"; | |
| } | |
| .fa-map-o:before { | |
| content: "\f278"; | |
| } | |
| .fa-map:before { | |
| content: "\f279"; | |
| } | |
| .fa-commenting:before { | |
| content: "\f27a"; | |
| } | |
| .fa-commenting-o:before { | |
| content: "\f27b"; | |
| } | |
| .fa-houzz:before { | |
| content: "\f27c"; | |
| } | |
| .fa-vimeo:before { | |
| content: "\f27d"; | |
| } | |
| .fa-black-tie:before { | |
| content: "\f27e"; | |
| } | |
| .fa-fonticons:before { | |
| content: "\f280"; | |
| } | |
| .fa-reddit-alien:before { | |
| content: "\f281"; | |
| } | |
| .fa-edge:before { | |
| content: "\f282"; | |
| } | |
| .fa-credit-card-alt:before { | |
| content: "\f283"; | |
| } | |
| .fa-codiepie:before { | |
| content: "\f284"; | |
| } | |
| .fa-modx:before { | |
| content: "\f285"; | |
| } | |
| .fa-fort-awesome:before { | |
| content: "\f286"; | |
| } | |
| .fa-usb:before { | |
| content: "\f287"; | |
| } | |
| .fa-product-hunt:before { | |
| content: "\f288"; | |
| } | |
| .fa-mixcloud:before { | |
| content: "\f289"; | |
| } | |
| .fa-scribd:before { | |
| content: "\f28a"; | |
| } | |
| .fa-pause-circle:before { | |
| content: "\f28b"; | |
| } | |
| .fa-pause-circle-o:before { | |
| content: "\f28c"; | |
| } | |
| .fa-stop-circle:before { | |
| content: "\f28d"; | |
| } | |
| .fa-stop-circle-o:before { | |
| content: "\f28e"; | |
| } | |
| .fa-shopping-bag:before { | |
| content: "\f290"; | |
| } | |
| .fa-shopping-basket:before { | |
| content: "\f291"; | |
| } | |
| .fa-hashtag:before { | |
| content: "\f292"; | |
| } | |
| .fa-bluetooth:before { | |
| content: "\f293"; | |
| } | |
| .fa-bluetooth-b:before { | |
| content: "\f294"; | |
| } | |
| .fa-percent:before { | |
| content: "\f295"; | |
| } | |
| .fa-gitlab:before { | |
| content: "\f296"; | |
| } | |
| .fa-wpbeginner:before { | |
| content: "\f297"; | |
| } | |
| .fa-wpforms:before { | |
| content: "\f298"; | |
| } | |
| .fa-envira:before { | |
| content: "\f299"; | |
| } | |
| .fa-universal-access:before { | |
| content: "\f29a"; | |
| } | |
| .fa-wheelchair-alt:before { | |
| content: "\f29b"; | |
| } | |
| .fa-question-circle-o:before { | |
| content: "\f29c"; | |
| } | |
| .fa-blind:before { | |
| content: "\f29d"; | |
| } | |
| .fa-audio-description:before { | |
| content: "\f29e"; | |
| } | |
| .fa-volume-control-phone:before { | |
| content: "\f2a0"; | |
| } | |
| .fa-braille:before { | |
| content: "\f2a1"; | |
| } | |
| .fa-assistive-listening-systems:before { | |
| content: "\f2a2"; | |
| } | |
| .fa-asl-interpreting:before, | |
| .fa-american-sign-language-interpreting:before { | |
| content: "\f2a3"; | |
| } | |
| .fa-deafness:before, | |
| .fa-hard-of-hearing:before, | |
| .fa-deaf:before { | |
| content: "\f2a4"; | |
| } | |
| .fa-glide:before { | |
| content: "\f2a5"; | |
| } | |
| .fa-glide-g:before { | |
| content: "\f2a6"; | |
| } | |
| .fa-signing:before, | |
| .fa-sign-language:before { | |
| content: "\f2a7"; | |
| } | |
| .fa-low-vision:before { | |
| content: "\f2a8"; | |
| } | |
| .fa-viadeo:before { | |
| content: "\f2a9"; | |
| } | |
| .fa-viadeo-square:before { | |
| content: "\f2aa"; | |
| } | |
| .fa-snapchat:before { | |
| content: "\f2ab"; | |
| } | |
| .fa-snapchat-ghost:before { | |
| content: "\f2ac"; | |
| } | |
| .fa-snapchat-square:before { | |
| content: "\f2ad"; | |
| } | |
| .fa-pied-piper:before { | |
| content: "\f2ae"; | |
| } | |
| .fa-first-order:before { | |
| content: "\f2b0"; | |
| } | |
| .fa-yoast:before { | |
| content: "\f2b1"; | |
| } | |
| .fa-themeisle:before { | |
| content: "\f2b2"; | |
| } | |
| .fa-google-plus-circle:before, | |
| .fa-google-plus-official:before { | |
| content: "\f2b3"; | |
| } | |
| .fa-fa:before, | |
| .fa-font-awesome:before { | |
| content: "\f2b4"; | |
| } | |
| .fa-handshake-o:before { | |
| content: "\f2b5"; | |
| } | |
| .fa-envelope-open:before { | |
| content: "\f2b6"; | |
| } | |
| .fa-envelope-open-o:before { | |
| content: "\f2b7"; | |
| } | |
| .fa-linode:before { | |
| content: "\f2b8"; | |
| } | |
| .fa-address-book:before { | |
| content: "\f2b9"; | |
| } | |
| .fa-address-book-o:before { | |
| content: "\f2ba"; | |
| } | |
| .fa-vcard:before, | |
| .fa-address-card:before { | |
| content: "\f2bb"; | |
| } | |
| .fa-vcard-o:before, | |
| .fa-address-card-o:before { | |
| content: "\f2bc"; | |
| } | |
| .fa-user-circle:before { | |
| content: "\f2bd"; | |
| } | |
| .fa-user-circle-o:before { | |
| content: "\f2be"; | |
| } | |
| .fa-user-o:before { | |
| content: "\f2c0"; | |
| } | |
| .fa-id-badge:before { | |
| content: "\f2c1"; | |
| } | |
| .fa-drivers-license:before, | |
| .fa-id-card:before { | |
| content: "\f2c2"; | |
| } | |
| .fa-drivers-license-o:before, | |
| .fa-id-card-o:before { | |
| content: "\f2c3"; | |
| } | |
| .fa-quora:before { | |
| content: "\f2c4"; | |
| } | |
| .fa-free-code-camp:before { | |
| content: "\f2c5"; | |
| } | |
| .fa-telegram:before { | |
| content: "\f2c6"; | |
| } | |
| .fa-thermometer-4:before, | |
| .fa-thermometer:before, | |
| .fa-thermometer-full:before { | |
| content: "\f2c7"; | |
| } | |
| .fa-thermometer-3:before, | |
| .fa-thermometer-three-quarters:before { | |
| content: "\f2c8"; | |
| } | |
| .fa-thermometer-2:before, | |
| .fa-thermometer-half:before { | |
| content: "\f2c9"; | |
| } | |
| .fa-thermometer-1:before, | |
| .fa-thermometer-quarter:before { | |
| content: "\f2ca"; | |
| } | |
| .fa-thermometer-0:before, | |
| .fa-thermometer-empty:before { | |
| content: "\f2cb"; | |
| } | |
| .fa-shower:before { | |
| content: "\f2cc"; | |
| } | |
| .fa-bathtub:before, | |
| .fa-s15:before, | |
| .fa-bath:before { | |
| content: "\f2cd"; | |
| } | |
| .fa-podcast:before { | |
| content: "\f2ce"; | |
| } | |
| .fa-window-maximize:before { | |
| content: "\f2d0"; | |
| } | |
| .fa-window-minimize:before { | |
| content: "\f2d1"; | |
| } | |
| .fa-window-restore:before { | |
| content: "\f2d2"; | |
| } | |
| .fa-times-rectangle:before, | |
| .fa-window-close:before { | |
| content: "\f2d3"; | |
| } | |
| .fa-times-rectangle-o:before, | |
| .fa-window-close-o:before { | |
| content: "\f2d4"; | |
| } | |
| .fa-bandcamp:before { | |
| content: "\f2d5"; | |
| } | |
| .fa-grav:before { | |
| content: "\f2d6"; | |
| } | |
| .fa-etsy:before { | |
| content: "\f2d7"; | |
| } | |
| .fa-imdb:before { | |
| content: "\f2d8"; | |
| } | |
| .fa-ravelry:before { | |
| content: "\f2d9"; | |
| } | |
| .fa-eercast:before { | |
| content: "\f2da"; | |
| } | |
| .fa-microchip:before { | |
| content: "\f2db"; | |
| } | |
| .fa-snowflake-o:before { | |
| content: "\f2dc"; | |
| } | |
| .fa-superpowers:before { | |
| content: "\f2dd"; | |
| } | |
| .fa-wpexplorer:before { | |
| content: "\f2de"; | |
| } | |
| .fa-meetup:before { | |
| content: "\f2e0"; | |
| } | |
| .sr-only { | |
| position: absolute; | |
| width: 1px; | |
| height: 1px; | |
| padding: 0; | |
| margin: -1px; | |
| overflow: hidden; | |
| clip: rect(0, 0, 0, 0); | |
| border: 0; | |
| } | |
| .sr-only-focusable:active, | |
| .sr-only-focusable:focus { | |
| position: static; | |
| width: auto; | |
| height: auto; | |
| margin: 0; | |
| overflow: visible; | |
| clip: auto; | |
| } | |
| .sr-only-focusable:active, | |
| .sr-only-focusable:focus { | |
| position: static; | |
| width: auto; | |
| height: auto; | |
| margin: 0; | |
| overflow: visible; | |
| clip: auto; | |
| } | |
| /*! | |
| * | |
| * IPython base | |
| * | |
| */ | |
| .modal.fade .modal-dialog { | |
| -webkit-transform: translate(0, 0); | |
| -ms-transform: translate(0, 0); | |
| -o-transform: translate(0, 0); | |
| transform: translate(0, 0); | |
| } | |
| code { | |
| color: #000; | |
| } | |
| pre { | |
| font-size: inherit; | |
| line-height: inherit; | |
| } | |
| label { | |
| font-weight: normal; | |
| } | |
| /* Make the page background atleast 100% the height of the view port */ | |
| /* Make the page itself atleast 70% the height of the view port */ | |
| .border-box-sizing { | |
| box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| -webkit-box-sizing: border-box; | |
| } | |
| .corner-all { | |
| border-radius: 2px; | |
| } | |
| .no-padding { | |
| padding: 0px; | |
| } | |
| /* Flexible box model classes */ | |
| /* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */ | |
| /* This file is a compatability layer. It allows the usage of flexible box | |
| model layouts accross multiple browsers, including older browsers. The newest, | |
| universal implementation of the flexible box model is used when available (see | |
| `Modern browsers` comments below). Browsers that are known to implement this | |
| new spec completely include: | |
| Firefox 28.0+ | |
| Chrome 29.0+ | |
| Internet Explorer 11+ | |
| Opera 17.0+ | |
| Browsers not listed, including Safari, are supported via the styling under the | |
| `Old browsers` comments below. | |
| */ | |
| .hbox { | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: horizontal; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: horizontal; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: horizontal; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: row; | |
| align-items: stretch; | |
| } | |
| .hbox > * { | |
| /* Old browsers */ | |
| -webkit-box-flex: 0; | |
| -moz-box-flex: 0; | |
| box-flex: 0; | |
| /* Modern browsers */ | |
| flex: none; | |
| } | |
| .vbox { | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: vertical; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: vertical; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: vertical; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: column; | |
| align-items: stretch; | |
| } | |
| .vbox > * { | |
| /* Old browsers */ | |
| -webkit-box-flex: 0; | |
| -moz-box-flex: 0; | |
| box-flex: 0; | |
| /* Modern browsers */ | |
| flex: none; | |
| } | |
| .hbox.reverse, | |
| .vbox.reverse, | |
| .reverse { | |
| /* Old browsers */ | |
| -webkit-box-direction: reverse; | |
| -moz-box-direction: reverse; | |
| box-direction: reverse; | |
| /* Modern browsers */ | |
| flex-direction: row-reverse; | |
| } | |
| .hbox.box-flex0, | |
| .vbox.box-flex0, | |
| .box-flex0 { | |
| /* Old browsers */ | |
| -webkit-box-flex: 0; | |
| -moz-box-flex: 0; | |
| box-flex: 0; | |
| /* Modern browsers */ | |
| flex: none; | |
| width: auto; | |
| } | |
| .hbox.box-flex1, | |
| .vbox.box-flex1, | |
| .box-flex1 { | |
| /* Old browsers */ | |
| -webkit-box-flex: 1; | |
| -moz-box-flex: 1; | |
| box-flex: 1; | |
| /* Modern browsers */ | |
| flex: 1; | |
| } | |
| .hbox.box-flex, | |
| .vbox.box-flex, | |
| .box-flex { | |
| /* Old browsers */ | |
| /* Old browsers */ | |
| -webkit-box-flex: 1; | |
| -moz-box-flex: 1; | |
| box-flex: 1; | |
| /* Modern browsers */ | |
| flex: 1; | |
| } | |
| .hbox.box-flex2, | |
| .vbox.box-flex2, | |
| .box-flex2 { | |
| /* Old browsers */ | |
| -webkit-box-flex: 2; | |
| -moz-box-flex: 2; | |
| box-flex: 2; | |
| /* Modern browsers */ | |
| flex: 2; | |
| } | |
| .box-group1 { | |
| /* Deprecated */ | |
| -webkit-box-flex-group: 1; | |
| -moz-box-flex-group: 1; | |
| box-flex-group: 1; | |
| } | |
| .box-group2 { | |
| /* Deprecated */ | |
| -webkit-box-flex-group: 2; | |
| -moz-box-flex-group: 2; | |
| box-flex-group: 2; | |
| } | |
| .hbox.start, | |
| .vbox.start, | |
| .start { | |
| /* Old browsers */ | |
| -webkit-box-pack: start; | |
| -moz-box-pack: start; | |
| box-pack: start; | |
| /* Modern browsers */ | |
| justify-content: flex-start; | |
| } | |
| .hbox.end, | |
| .vbox.end, | |
| .end { | |
| /* Old browsers */ | |
| -webkit-box-pack: end; | |
| -moz-box-pack: end; | |
| box-pack: end; | |
| /* Modern browsers */ | |
| justify-content: flex-end; | |
| } | |
| .hbox.center, | |
| .vbox.center, | |
| .center { | |
| /* Old browsers */ | |
| -webkit-box-pack: center; | |
| -moz-box-pack: center; | |
| box-pack: center; | |
| /* Modern browsers */ | |
| justify-content: center; | |
| } | |
| .hbox.baseline, | |
| .vbox.baseline, | |
| .baseline { | |
| /* Old browsers */ | |
| -webkit-box-pack: baseline; | |
| -moz-box-pack: baseline; | |
| box-pack: baseline; | |
| /* Modern browsers */ | |
| justify-content: baseline; | |
| } | |
| .hbox.stretch, | |
| .vbox.stretch, | |
| .stretch { | |
| /* Old browsers */ | |
| -webkit-box-pack: stretch; | |
| -moz-box-pack: stretch; | |
| box-pack: stretch; | |
| /* Modern browsers */ | |
| justify-content: stretch; | |
| } | |
| .hbox.align-start, | |
| .vbox.align-start, | |
| .align-start { | |
| /* Old browsers */ | |
| -webkit-box-align: start; | |
| -moz-box-align: start; | |
| box-align: start; | |
| /* Modern browsers */ | |
| align-items: flex-start; | |
| } | |
| .hbox.align-end, | |
| .vbox.align-end, | |
| .align-end { | |
| /* Old browsers */ | |
| -webkit-box-align: end; | |
| -moz-box-align: end; | |
| box-align: end; | |
| /* Modern browsers */ | |
| align-items: flex-end; | |
| } | |
| .hbox.align-center, | |
| .vbox.align-center, | |
| .align-center { | |
| /* Old browsers */ | |
| -webkit-box-align: center; | |
| -moz-box-align: center; | |
| box-align: center; | |
| /* Modern browsers */ | |
| align-items: center; | |
| } | |
| .hbox.align-baseline, | |
| .vbox.align-baseline, | |
| .align-baseline { | |
| /* Old browsers */ | |
| -webkit-box-align: baseline; | |
| -moz-box-align: baseline; | |
| box-align: baseline; | |
| /* Modern browsers */ | |
| align-items: baseline; | |
| } | |
| .hbox.align-stretch, | |
| .vbox.align-stretch, | |
| .align-stretch { | |
| /* Old browsers */ | |
| -webkit-box-align: stretch; | |
| -moz-box-align: stretch; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| align-items: stretch; | |
| } | |
| div.error { | |
| margin: 2em; | |
| text-align: center; | |
| } | |
| div.error > h1 { | |
| font-size: 500%; | |
| line-height: normal; | |
| } | |
| div.error > p { | |
| font-size: 200%; | |
| line-height: normal; | |
| } | |
| div.traceback-wrapper { | |
| text-align: left; | |
| max-width: 800px; | |
| margin: auto; | |
| } | |
| div.traceback-wrapper pre.traceback { | |
| max-height: 600px; | |
| overflow: auto; | |
| } | |
| /** | |
| * Primary styles | |
| * | |
| * Author: Jupyter Development Team | |
| */ | |
| body { | |
| background-color: #fff; | |
| /* This makes sure that the body covers the entire window and needs to | |
| be in a different element than the display: box in wrapper below */ | |
| position: absolute; | |
| left: 0px; | |
| right: 0px; | |
| top: 0px; | |
| bottom: 0px; | |
| overflow: visible; | |
| } | |
| body > #header { | |
| /* Initially hidden to prevent FLOUC */ | |
| display: none; | |
| background-color: #fff; | |
| /* Display over codemirror */ | |
| position: relative; | |
| z-index: 100; | |
| } | |
| body > #header #header-container { | |
| display: flex; | |
| flex-direction: row; | |
| justify-content: space-between; | |
| padding: 5px; | |
| padding-bottom: 5px; | |
| padding-top: 5px; | |
| box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| -webkit-box-sizing: border-box; | |
| } | |
| body > #header .header-bar { | |
| width: 100%; | |
| height: 1px; | |
| background: #e7e7e7; | |
| margin-bottom: -1px; | |
| } | |
| @media print { | |
| body > #header { | |
| display: none !important; | |
| } | |
| } | |
| #header-spacer { | |
| width: 100%; | |
| visibility: hidden; | |
| } | |
| @media print { | |
| #header-spacer { | |
| display: none; | |
| } | |
| } | |
| #ipython_notebook { | |
| padding-left: 0px; | |
| padding-top: 1px; | |
| padding-bottom: 1px; | |
| } | |
| [dir="rtl"] #ipython_notebook { | |
| margin-right: 10px; | |
| margin-left: 0; | |
| } | |
| [dir="rtl"] #ipython_notebook.pull-left { | |
| float: right !important; | |
| float: right; | |
| } | |
| .flex-spacer { | |
| flex: 1; | |
| } | |
| #noscript { | |
| width: auto; | |
| padding-top: 16px; | |
| padding-bottom: 16px; | |
| text-align: center; | |
| font-size: 22px; | |
| color: red; | |
| font-weight: bold; | |
| } | |
| #ipython_notebook img { | |
| height: 28px; | |
| } | |
| #site { | |
| width: 100%; | |
| display: none; | |
| box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| -webkit-box-sizing: border-box; | |
| overflow: auto; | |
| } | |
| @media print { | |
| #site { | |
| height: auto !important; | |
| } | |
| } | |
| /* Smaller buttons */ | |
| .ui-button .ui-button-text { | |
| padding: 0.2em 0.8em; | |
| font-size: 77%; | |
| } | |
| input.ui-button { | |
| padding: 0.3em 0.9em; | |
| } | |
| span#kernel_logo_widget { | |
| margin: 0 10px; | |
| } | |
| span#login_widget { | |
| float: right; | |
| } | |
| [dir="rtl"] span#login_widget { | |
| float: left; | |
| } | |
| span#login_widget > .button, | |
| #logout { | |
| color: #333; | |
| background-color: #fff; | |
| border-color: #ccc; | |
| } | |
| span#login_widget > .button:focus, | |
| #logout:focus, | |
| span#login_widget > .button.focus, | |
| #logout.focus { | |
| color: #333; | |
| background-color: #e6e6e6; | |
| border-color: #8c8c8c; | |
| } | |
| span#login_widget > .button:hover, | |
| #logout:hover { | |
| color: #333; | |
| background-color: #e6e6e6; | |
| border-color: #adadad; | |
| } | |
| span#login_widget > .button:active, | |
| #logout:active, | |
| span#login_widget > .button.active, | |
| #logout.active, | |
| .open > .dropdown-togglespan#login_widget > .button, | |
| .open > .dropdown-toggle#logout { | |
| color: #333; | |
| background-color: #e6e6e6; | |
| border-color: #adadad; | |
| } | |
| span#login_widget > .button:active:hover, | |
| #logout:active:hover, | |
| span#login_widget > .button.active:hover, | |
| #logout.active:hover, | |
| .open > .dropdown-togglespan#login_widget > .button:hover, | |
| .open > .dropdown-toggle#logout:hover, | |
| span#login_widget > .button:active:focus, | |
| #logout:active:focus, | |
| span#login_widget > .button.active:focus, | |
| #logout.active:focus, | |
| .open > .dropdown-togglespan#login_widget > .button:focus, | |
| .open > .dropdown-toggle#logout:focus, | |
| span#login_widget > .button:active.focus, | |
| #logout:active.focus, | |
| span#login_widget > .button.active.focus, | |
| #logout.active.focus, | |
| .open > .dropdown-togglespan#login_widget > .button.focus, | |
| .open > .dropdown-toggle#logout.focus { | |
| color: #333; | |
| background-color: #d4d4d4; | |
| border-color: #8c8c8c; | |
| } | |
| span#login_widget > .button:active, | |
| #logout:active, | |
| span#login_widget > .button.active, | |
| #logout.active, | |
| .open > .dropdown-togglespan#login_widget > .button, | |
| .open > .dropdown-toggle#logout { | |
| background-image: none; | |
| } | |
| span#login_widget > .button.disabled:hover, | |
| #logout.disabled:hover, | |
| span#login_widget > .button[disabled]:hover, | |
| #logout[disabled]:hover, | |
| fieldset[disabled] span#login_widget > .button:hover, | |
| fieldset[disabled] #logout:hover, | |
| span#login_widget > .button.disabled:focus, | |
| #logout.disabled:focus, | |
| span#login_widget > .button[disabled]:focus, | |
| #logout[disabled]:focus, | |
| fieldset[disabled] span#login_widget > .button:focus, | |
| fieldset[disabled] #logout:focus, | |
| span#login_widget > .button.disabled.focus, | |
| #logout.disabled.focus, | |
| span#login_widget > .button[disabled].focus, | |
| #logout[disabled].focus, | |
| fieldset[disabled] span#login_widget > .button.focus, | |
| fieldset[disabled] #logout.focus { | |
| background-color: #fff; | |
| border-color: #ccc; | |
| } | |
| span#login_widget > .button .badge, | |
| #logout .badge { | |
| color: #fff; | |
| background-color: #333; | |
| } | |
| .nav-header { | |
| text-transform: none; | |
| } | |
| #header > span { | |
| margin-top: 10px; | |
| } | |
| .modal_stretch .modal-dialog { | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: vertical; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: vertical; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: vertical; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: column; | |
| align-items: stretch; | |
| min-height: 80vh; | |
| } | |
| .modal_stretch .modal-dialog .modal-body { | |
| max-height: calc(100vh - 200px); | |
| overflow: auto; | |
| flex: 1; | |
| } | |
| .modal-header { | |
| cursor: move; | |
| } | |
| @media (min-width: 768px) { | |
| .modal .modal-dialog { | |
| width: 700px; | |
| } | |
| } | |
| @media (min-width: 768px) { | |
| select.form-control { | |
| margin-left: 12px; | |
| margin-right: 12px; | |
| } | |
| } | |
| /*! | |
| * | |
| * IPython auth | |
| * | |
| */ | |
| .center-nav { | |
| display: inline-block; | |
| margin-bottom: -4px; | |
| } | |
| [dir="rtl"] .center-nav form.pull-left { | |
| float: right !important; | |
| float: right; | |
| } | |
| [dir="rtl"] .center-nav .navbar-text { | |
| float: right; | |
| } | |
| [dir="rtl"] .navbar-inner { | |
| text-align: right; | |
| } | |
| [dir="rtl"] div.text-left { | |
| text-align: right; | |
| } | |
| /*! | |
| * | |
| * IPython tree view | |
| * | |
| */ | |
| /* We need an invisible input field on top of the sentense*/ | |
| /* "Drag file onto the list ..." */ | |
| .alternate_upload { | |
| background-color: none; | |
| display: inline; | |
| } | |
| .alternate_upload.form { | |
| padding: 0; | |
| margin: 0; | |
| } | |
| .alternate_upload input.fileinput { | |
| position: absolute; | |
| display: block; | |
| width: 100%; | |
| height: 100%; | |
| overflow: hidden; | |
| cursor: pointer; | |
| opacity: 0; | |
| z-index: 2; | |
| } | |
| .alternate_upload .btn-xs > input.fileinput { | |
| margin: -1px -5px; | |
| } | |
| .alternate_upload .btn-upload { | |
| position: relative; | |
| height: 22px; | |
| } | |
| ::-webkit-file-upload-button { | |
| cursor: pointer; | |
| } | |
| /** | |
| * Primary styles | |
| * | |
| * Author: Jupyter Development Team | |
| */ | |
| ul#tabs { | |
| margin-bottom: 4px; | |
| } | |
| ul#tabs a { | |
| padding-top: 6px; | |
| padding-bottom: 4px; | |
| } | |
| [dir="rtl"] ul#tabs.nav-tabs > li { | |
| float: right; | |
| } | |
| [dir="rtl"] ul#tabs.nav.nav-tabs { | |
| padding-right: 0; | |
| } | |
| ul.breadcrumb a:focus, | |
| ul.breadcrumb a:hover { | |
| text-decoration: none; | |
| } | |
| ul.breadcrumb i.icon-home { | |
| font-size: 16px; | |
| margin-right: 4px; | |
| } | |
| ul.breadcrumb span { | |
| color: #5e5e5e; | |
| } | |
| .list_toolbar { | |
| padding: 4px 0 4px 0; | |
| vertical-align: middle; | |
| } | |
| .list_toolbar .tree-buttons { | |
| padding-top: 1px; | |
| } | |
| [dir="rtl"] .list_toolbar .tree-buttons .pull-right { | |
| float: left !important; | |
| float: left; | |
| } | |
| [dir="rtl"] .list_toolbar .col-sm-4, | |
| [dir="rtl"] .list_toolbar .col-sm-8 { | |
| float: right; | |
| } | |
| .dynamic-buttons { | |
| padding-top: 3px; | |
| display: inline-block; | |
| } | |
| .list_toolbar [class*="span"] { | |
| min-height: 24px; | |
| } | |
| .list_header { | |
| font-weight: bold; | |
| background-color: #EEE; | |
| } | |
| .list_placeholder { | |
| font-weight: bold; | |
| padding-top: 4px; | |
| padding-bottom: 4px; | |
| padding-left: 7px; | |
| padding-right: 7px; | |
| } | |
| .list_container { | |
| margin-top: 4px; | |
| margin-bottom: 20px; | |
| border: 1px solid #ddd; | |
| border-radius: 2px; | |
| } | |
| .list_container > div { | |
| border-bottom: 1px solid #ddd; | |
| } | |
| .list_container > div:hover .list-item { | |
| background-color: red; | |
| } | |
| .list_container > div:last-child { | |
| border: none; | |
| } | |
| .list_item:hover .list_item { | |
| background-color: #ddd; | |
| } | |
| .list_item a { | |
| text-decoration: none; | |
| } | |
| .list_item:hover { | |
| background-color: #fafafa; | |
| } | |
| .list_header > div, | |
| .list_item > div { | |
| padding-top: 4px; | |
| padding-bottom: 4px; | |
| padding-left: 7px; | |
| padding-right: 7px; | |
| line-height: 22px; | |
| } | |
| .list_header > div input, | |
| .list_item > div input { | |
| margin-right: 7px; | |
| margin-left: 14px; | |
| vertical-align: text-bottom; | |
| line-height: 22px; | |
| position: relative; | |
| top: -1px; | |
| } | |
| .list_header > div .item_link, | |
| .list_item > div .item_link { | |
| margin-left: -1px; | |
| vertical-align: baseline; | |
| line-height: 22px; | |
| } | |
| [dir="rtl"] .list_item > div input { | |
| margin-right: 0; | |
| } | |
| .new-file input[type=checkbox] { | |
| visibility: hidden; | |
| } | |
| .item_name { | |
| line-height: 22px; | |
| height: 24px; | |
| } | |
| .item_icon { | |
| font-size: 14px; | |
| color: #5e5e5e; | |
| margin-right: 7px; | |
| margin-left: 7px; | |
| line-height: 22px; | |
| vertical-align: baseline; | |
| } | |
| .item_modified { | |
| margin-right: 7px; | |
| margin-left: 7px; | |
| } | |
| [dir="rtl"] .item_modified.pull-right { | |
| float: left !important; | |
| float: left; | |
| } | |
| .item_buttons { | |
| line-height: 1em; | |
| margin-left: -5px; | |
| } | |
| .item_buttons .btn, | |
| .item_buttons .btn-group, | |
| .item_buttons .input-group { | |
| float: left; | |
| } | |
| .item_buttons > .btn, | |
| .item_buttons > .btn-group, | |
| .item_buttons > .input-group { | |
| margin-left: 5px; | |
| } | |
| .item_buttons .btn { | |
| min-width: 13ex; | |
| } | |
| .item_buttons .running-indicator { | |
| padding-top: 4px; | |
| color: #5cb85c; | |
| } | |
| .item_buttons .kernel-name { | |
| padding-top: 4px; | |
| color: #5bc0de; | |
| margin-right: 7px; | |
| float: left; | |
| } | |
| [dir="rtl"] .item_buttons.pull-right { | |
| float: left !important; | |
| float: left; | |
| } | |
| [dir="rtl"] .item_buttons .kernel-name { | |
| margin-left: 7px; | |
| float: right; | |
| } | |
| .toolbar_info { | |
| height: 24px; | |
| line-height: 24px; | |
| } | |
| .list_item input:not([type=checkbox]) { | |
| padding-top: 3px; | |
| padding-bottom: 3px; | |
| height: 22px; | |
| line-height: 14px; | |
| margin: 0px; | |
| } | |
| .highlight_text { | |
| color: blue; | |
| } | |
| #project_name { | |
| display: inline-block; | |
| padding-left: 7px; | |
| margin-left: -2px; | |
| } | |
| #project_name > .breadcrumb { | |
| padding: 0px; | |
| margin-bottom: 0px; | |
| background-color: transparent; | |
| font-weight: bold; | |
| } | |
| .sort_button { | |
| display: inline-block; | |
| padding-left: 7px; | |
| } | |
| [dir="rtl"] .sort_button.pull-right { | |
| float: left !important; | |
| float: left; | |
| } | |
| #tree-selector { | |
| padding-right: 0px; | |
| } | |
| #button-select-all { | |
| min-width: 50px; | |
| } | |
| [dir="rtl"] #button-select-all.btn { | |
| float: right ; | |
| } | |
| #select-all { | |
| margin-left: 7px; | |
| margin-right: 2px; | |
| margin-top: 2px; | |
| height: 16px; | |
| } | |
| [dir="rtl"] #select-all.pull-left { | |
| float: right !important; | |
| float: right; | |
| } | |
| .menu_icon { | |
| margin-right: 2px; | |
| } | |
| .tab-content .row { | |
| margin-left: 0px; | |
| margin-right: 0px; | |
| } | |
| .folder_icon:before { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| content: "\f114"; | |
| } | |
| .folder_icon:before.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .folder_icon:before.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .folder_icon:before.pull-left { | |
| margin-right: .3em; | |
| } | |
| .folder_icon:before.pull-right { | |
| margin-left: .3em; | |
| } | |
| .notebook_icon:before { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| content: "\f02d"; | |
| position: relative; | |
| top: -1px; | |
| } | |
| .notebook_icon:before.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .notebook_icon:before.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .notebook_icon:before.pull-left { | |
| margin-right: .3em; | |
| } | |
| .notebook_icon:before.pull-right { | |
| margin-left: .3em; | |
| } | |
| .running_notebook_icon:before { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| content: "\f02d"; | |
| position: relative; | |
| top: -1px; | |
| color: #5cb85c; | |
| } | |
| .running_notebook_icon:before.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .running_notebook_icon:before.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .running_notebook_icon:before.pull-left { | |
| margin-right: .3em; | |
| } | |
| .running_notebook_icon:before.pull-right { | |
| margin-left: .3em; | |
| } | |
| .file_icon:before { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| content: "\f016"; | |
| position: relative; | |
| top: -2px; | |
| } | |
| .file_icon:before.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .file_icon:before.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .file_icon:before.pull-left { | |
| margin-right: .3em; | |
| } | |
| .file_icon:before.pull-right { | |
| margin-left: .3em; | |
| } | |
| #notebook_toolbar .pull-right { | |
| padding-top: 0px; | |
| margin-right: -1px; | |
| } | |
| ul#new-menu { | |
| left: auto; | |
| right: 0; | |
| } | |
| #new-menu .dropdown-header { | |
| font-size: 10px; | |
| border-bottom: 1px solid #e5e5e5; | |
| padding: 0 0 3px; | |
| margin: -3px 20px 0; | |
| } | |
| .kernel-menu-icon { | |
| padding-right: 12px; | |
| width: 24px; | |
| content: "\f096"; | |
| } | |
| .kernel-menu-icon:before { | |
| content: "\f096"; | |
| } | |
| .kernel-menu-icon-current:before { | |
| content: "\f00c"; | |
| } | |
| #tab_content { | |
| padding-top: 20px; | |
| } | |
| #running .panel-group .panel { | |
| margin-top: 3px; | |
| margin-bottom: 1em; | |
| } | |
| #running .panel-group .panel .panel-heading { | |
| background-color: #EEE; | |
| padding-top: 4px; | |
| padding-bottom: 4px; | |
| padding-left: 7px; | |
| padding-right: 7px; | |
| line-height: 22px; | |
| } | |
| #running .panel-group .panel .panel-heading a:focus, | |
| #running .panel-group .panel .panel-heading a:hover { | |
| text-decoration: none; | |
| } | |
| #running .panel-group .panel .panel-body { | |
| padding: 0px; | |
| } | |
| #running .panel-group .panel .panel-body .list_container { | |
| margin-top: 0px; | |
| margin-bottom: 0px; | |
| border: 0px; | |
| border-radius: 0px; | |
| } | |
| #running .panel-group .panel .panel-body .list_container .list_item { | |
| border-bottom: 1px solid #ddd; | |
| } | |
| #running .panel-group .panel .panel-body .list_container .list_item:last-child { | |
| border-bottom: 0px; | |
| } | |
| .delete-button { | |
| display: none; | |
| } | |
| .duplicate-button { | |
| display: none; | |
| } | |
| .rename-button { | |
| display: none; | |
| } | |
| .move-button { | |
| display: none; | |
| } | |
| .download-button { | |
| display: none; | |
| } | |
| .shutdown-button { | |
| display: none; | |
| } | |
| .dynamic-instructions { | |
| display: inline-block; | |
| padding-top: 4px; | |
| } | |
| /*! | |
| * | |
| * IPython text editor webapp | |
| * | |
| */ | |
| .selected-keymap i.fa { | |
| padding: 0px 5px; | |
| } | |
| .selected-keymap i.fa:before { | |
| content: "\f00c"; | |
| } | |
| #mode-menu { | |
| overflow: auto; | |
| max-height: 20em; | |
| } | |
| .edit_app #header { | |
| -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); | |
| box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); | |
| } | |
| .edit_app #menubar .navbar { | |
| /* Use a negative 1 bottom margin, so the border overlaps the border of the | |
| header */ | |
| margin-bottom: -1px; | |
| } | |
| .dirty-indicator { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| width: 20px; | |
| } | |
| .dirty-indicator.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .dirty-indicator.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .dirty-indicator.pull-left { | |
| margin-right: .3em; | |
| } | |
| .dirty-indicator.pull-right { | |
| margin-left: .3em; | |
| } | |
| .dirty-indicator-dirty { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| width: 20px; | |
| } | |
| .dirty-indicator-dirty.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .dirty-indicator-dirty.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .dirty-indicator-dirty.pull-left { | |
| margin-right: .3em; | |
| } | |
| .dirty-indicator-dirty.pull-right { | |
| margin-left: .3em; | |
| } | |
| .dirty-indicator-clean { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| width: 20px; | |
| } | |
| .dirty-indicator-clean.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .dirty-indicator-clean.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .dirty-indicator-clean.pull-left { | |
| margin-right: .3em; | |
| } | |
| .dirty-indicator-clean.pull-right { | |
| margin-left: .3em; | |
| } | |
| .dirty-indicator-clean:before { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| content: "\f00c"; | |
| } | |
| .dirty-indicator-clean:before.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .dirty-indicator-clean:before.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .dirty-indicator-clean:before.pull-left { | |
| margin-right: .3em; | |
| } | |
| .dirty-indicator-clean:before.pull-right { | |
| margin-left: .3em; | |
| } | |
| #filename { | |
| font-size: 16pt; | |
| display: table; | |
| padding: 0px 5px; | |
| } | |
| #current-mode { | |
| padding-left: 5px; | |
| padding-right: 5px; | |
| } | |
| #texteditor-backdrop { | |
| padding-top: 20px; | |
| padding-bottom: 20px; | |
| } | |
| @media not print { | |
| #texteditor-backdrop { | |
| background-color: #EEE; | |
| } | |
| } | |
| @media print { | |
| #texteditor-backdrop #texteditor-container .CodeMirror-gutter, | |
| #texteditor-backdrop #texteditor-container .CodeMirror-gutters { | |
| background-color: #fff; | |
| } | |
| } | |
| @media not print { | |
| #texteditor-backdrop #texteditor-container .CodeMirror-gutter, | |
| #texteditor-backdrop #texteditor-container .CodeMirror-gutters { | |
| background-color: #fff; | |
| } | |
| } | |
| @media not print { | |
| #texteditor-backdrop #texteditor-container { | |
| padding: 0px; | |
| background-color: #fff; | |
| -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); | |
| box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); | |
| } | |
| } | |
| .CodeMirror-dialog { | |
| background-color: #fff; | |
| } | |
| /*! | |
| * | |
| * IPython notebook | |
| * | |
| */ | |
| /* CSS font colors for translated ANSI escape sequences */ | |
| /* The color values are a mix of | |
| http://www.xcolors.net/dl/baskerville-ivorylight and | |
| http://www.xcolors.net/dl/euphrasia */ | |
| .ansi-black-fg { | |
| color: #3E424D; | |
| } | |
| .ansi-black-bg { | |
| background-color: #3E424D; | |
| } | |
| .ansi-black-intense-fg { | |
| color: #282C36; | |
| } | |
| .ansi-black-intense-bg { | |
| background-color: #282C36; | |
| } | |
| .ansi-red-fg { | |
| color: #E75C58; | |
| } | |
| .ansi-red-bg { | |
| background-color: #E75C58; | |
| } | |
| .ansi-red-intense-fg { | |
| color: #B22B31; | |
| } | |
| .ansi-red-intense-bg { | |
| background-color: #B22B31; | |
| } | |
| .ansi-green-fg { | |
| color: #00A250; | |
| } | |
| .ansi-green-bg { | |
| background-color: #00A250; | |
| } | |
| .ansi-green-intense-fg { | |
| color: #007427; | |
| } | |
| .ansi-green-intense-bg { | |
| background-color: #007427; | |
| } | |
| .ansi-yellow-fg { | |
| color: #DDB62B; | |
| } | |
| .ansi-yellow-bg { | |
| background-color: #DDB62B; | |
| } | |
| .ansi-yellow-intense-fg { | |
| color: #B27D12; | |
| } | |
| .ansi-yellow-intense-bg { | |
| background-color: #B27D12; | |
| } | |
| .ansi-blue-fg { | |
| color: #208FFB; | |
| } | |
| .ansi-blue-bg { | |
| background-color: #208FFB; | |
| } | |
| .ansi-blue-intense-fg { | |
| color: #0065CA; | |
| } | |
| .ansi-blue-intense-bg { | |
| background-color: #0065CA; | |
| } | |
| .ansi-magenta-fg { | |
| color: #D160C4; | |
| } | |
| .ansi-magenta-bg { | |
| background-color: #D160C4; | |
| } | |
| .ansi-magenta-intense-fg { | |
| color: #A03196; | |
| } | |
| .ansi-magenta-intense-bg { | |
| background-color: #A03196; | |
| } | |
| .ansi-cyan-fg { | |
| color: #60C6C8; | |
| } | |
| .ansi-cyan-bg { | |
| background-color: #60C6C8; | |
| } | |
| .ansi-cyan-intense-fg { | |
| color: #258F8F; | |
| } | |
| .ansi-cyan-intense-bg { | |
| background-color: #258F8F; | |
| } | |
| .ansi-white-fg { | |
| color: #C5C1B4; | |
| } | |
| .ansi-white-bg { | |
| background-color: #C5C1B4; | |
| } | |
| .ansi-white-intense-fg { | |
| color: #A1A6B2; | |
| } | |
| .ansi-white-intense-bg { | |
| background-color: #A1A6B2; | |
| } | |
| .ansi-default-inverse-fg { | |
| color: #FFFFFF; | |
| } | |
| .ansi-default-inverse-bg { | |
| background-color: #000000; | |
| } | |
| .ansi-bold { | |
| font-weight: bold; | |
| } | |
| .ansi-underline { | |
| text-decoration: underline; | |
| } | |
| /* The following styles are deprecated an will be removed in a future version */ | |
| .ansibold { | |
| font-weight: bold; | |
| } | |
| .ansi-inverse { | |
| outline: 0.5px dotted; | |
| } | |
| /* use dark versions for foreground, to improve visibility */ | |
| .ansiblack { | |
| color: black; | |
| } | |
| .ansired { | |
| color: darkred; | |
| } | |
| .ansigreen { | |
| color: darkgreen; | |
| } | |
| .ansiyellow { | |
| color: #c4a000; | |
| } | |
| .ansiblue { | |
| color: darkblue; | |
| } | |
| .ansipurple { | |
| color: darkviolet; | |
| } | |
| .ansicyan { | |
| color: steelblue; | |
| } | |
| .ansigray { | |
| color: gray; | |
| } | |
| /* and light for background, for the same reason */ | |
| .ansibgblack { | |
| background-color: black; | |
| } | |
| .ansibgred { | |
| background-color: red; | |
| } | |
| .ansibggreen { | |
| background-color: green; | |
| } | |
| .ansibgyellow { | |
| background-color: yellow; | |
| } | |
| .ansibgblue { | |
| background-color: blue; | |
| } | |
| .ansibgpurple { | |
| background-color: magenta; | |
| } | |
| .ansibgcyan { | |
| background-color: cyan; | |
| } | |
| .ansibggray { | |
| background-color: gray; | |
| } | |
| div.cell { | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: vertical; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: vertical; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: vertical; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: column; | |
| align-items: stretch; | |
| border-radius: 2px; | |
| box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| -webkit-box-sizing: border-box; | |
| border-width: 1px; | |
| border-style: solid; | |
| border-color: transparent; | |
| width: 100%; | |
| padding: 5px; | |
| /* This acts as a spacer between cells, that is outside the border */ | |
| margin: 0px; | |
| outline: none; | |
| position: relative; | |
| overflow: visible; | |
| } | |
| div.cell:before { | |
| position: absolute; | |
| display: block; | |
| top: -1px; | |
| left: -1px; | |
| width: 5px; | |
| height: calc(100% + 2px); | |
| content: ''; | |
| background: transparent; | |
| } | |
| div.cell.jupyter-soft-selected { | |
| border-left-color: #E3F2FD; | |
| border-left-width: 1px; | |
| padding-left: 5px; | |
| border-right-color: #E3F2FD; | |
| border-right-width: 1px; | |
| background: #E3F2FD; | |
| } | |
| @media print { | |
| div.cell.jupyter-soft-selected { | |
| border-color: transparent; | |
| } | |
| } | |
| div.cell.selected, | |
| div.cell.selected.jupyter-soft-selected { | |
| border-color: #ababab; | |
| } | |
| div.cell.selected:before, | |
| div.cell.selected.jupyter-soft-selected:before { | |
| position: absolute; | |
| display: block; | |
| top: -1px; | |
| left: -1px; | |
| width: 5px; | |
| height: calc(100% + 2px); | |
| content: ''; | |
| background: #42A5F5; | |
| } | |
| @media print { | |
| div.cell.selected, | |
| div.cell.selected.jupyter-soft-selected { | |
| border-color: transparent; | |
| } | |
| } | |
| .edit_mode div.cell.selected { | |
| border-color: #66BB6A; | |
| } | |
| .edit_mode div.cell.selected:before { | |
| position: absolute; | |
| display: block; | |
| top: -1px; | |
| left: -1px; | |
| width: 5px; | |
| height: calc(100% + 2px); | |
| content: ''; | |
| background: #66BB6A; | |
| } | |
| @media print { | |
| .edit_mode div.cell.selected { | |
| border-color: transparent; | |
| } | |
| } | |
| .prompt { | |
| /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */ | |
| min-width: 14ex; | |
| /* This padding is tuned to match the padding on the CodeMirror editor. */ | |
| padding: 0.4em; | |
| margin: 0px; | |
| font-family: monospace; | |
| text-align: right; | |
| /* This has to match that of the the CodeMirror class line-height below */ | |
| line-height: 1.21429em; | |
| /* Don't highlight prompt number selection */ | |
| -webkit-touch-callout: none; | |
| -webkit-user-select: none; | |
| -khtml-user-select: none; | |
| -moz-user-select: none; | |
| -ms-user-select: none; | |
| user-select: none; | |
| /* Use default cursor */ | |
| cursor: default; | |
| } | |
| @media (max-width: 540px) { | |
| .prompt { | |
| text-align: left; | |
| } | |
| } | |
| div.inner_cell { | |
| min-width: 0; | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: vertical; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: vertical; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: vertical; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: column; | |
| align-items: stretch; | |
| /* Old browsers */ | |
| -webkit-box-flex: 1; | |
| -moz-box-flex: 1; | |
| box-flex: 1; | |
| /* Modern browsers */ | |
| flex: 1; | |
| } | |
| /* input_area and input_prompt must match in top border and margin for alignment */ | |
| div.input_area { | |
| border: 1px solid #cfcfcf; | |
| border-radius: 2px; | |
| background: #f7f7f7; | |
| line-height: 1.21429em; | |
| } | |
| /* This is needed so that empty prompt areas can collapse to zero height when there | |
| is no content in the output_subarea and the prompt. The main purpose of this is | |
| to make sure that empty JavaScript output_subareas have no height. */ | |
| div.prompt:empty { | |
| padding-top: 0; | |
| padding-bottom: 0; | |
| } | |
| div.unrecognized_cell { | |
| padding: 5px 5px 5px 0px; | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: horizontal; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: horizontal; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: horizontal; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: row; | |
| align-items: stretch; | |
| } | |
| div.unrecognized_cell .inner_cell { | |
| border-radius: 2px; | |
| padding: 5px; | |
| font-weight: bold; | |
| color: red; | |
| border: 1px solid #cfcfcf; | |
| background: #eaeaea; | |
| } | |
| div.unrecognized_cell .inner_cell a { | |
| color: inherit; | |
| text-decoration: none; | |
| } | |
| div.unrecognized_cell .inner_cell a:hover { | |
| color: inherit; | |
| text-decoration: none; | |
| } | |
| @media (max-width: 540px) { | |
| div.unrecognized_cell > div.prompt { | |
| display: none; | |
| } | |
| } | |
| div.code_cell { | |
| /* avoid page breaking on code cells when printing */ | |
| } | |
| @media print { | |
| div.code_cell { | |
| page-break-inside: avoid; | |
| } | |
| } | |
| /* any special styling for code cells that are currently running goes here */ | |
| div.input { | |
| page-break-inside: avoid; | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: horizontal; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: horizontal; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: horizontal; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: row; | |
| align-items: stretch; | |
| } | |
| @media (max-width: 540px) { | |
| div.input { | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: vertical; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: vertical; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: vertical; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: column; | |
| align-items: stretch; | |
| } | |
| } | |
| /* input_area and input_prompt must match in top border and margin for alignment */ | |
| div.input_prompt { | |
| color: #303F9F; | |
| border-top: 1px solid transparent; | |
| } | |
| div.input_area > div.highlight { | |
| margin: 0.4em; | |
| border: none; | |
| padding: 0px; | |
| background-color: transparent; | |
| } | |
| div.input_area > div.highlight > pre { | |
| margin: 0px; | |
| border: none; | |
| padding: 0px; | |
| background-color: transparent; | |
| } | |
| /* The following gets added to the <head> if it is detected that the user has a | |
| * monospace font with inconsistent normal/bold/italic height. See | |
| * notebookmain.js. Such fonts will have keywords vertically offset with | |
| * respect to the rest of the text. The user should select a better font. | |
| * See: https://github.com/ipython/ipython/issues/1503 | |
| * | |
| * .CodeMirror span { | |
| * vertical-align: bottom; | |
| * } | |
| */ | |
| .CodeMirror { | |
| line-height: 1.21429em; | |
| /* Changed from 1em to our global default */ | |
| font-size: 14px; | |
| height: auto; | |
| /* Changed to auto to autogrow */ | |
| background: none; | |
| /* Changed from white to allow our bg to show through */ | |
| } | |
| .CodeMirror-scroll { | |
| /* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/ | |
| /* We have found that if it is visible, vertical scrollbars appear with font size changes.*/ | |
| overflow-y: hidden; | |
| overflow-x: auto; | |
| } | |
| .CodeMirror-lines { | |
| /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */ | |
| /* we have set a different line-height and want this to scale with that. */ | |
| /* Note that this should set vertical padding only, since CodeMirror assumes | |
| that horizontal padding will be set on CodeMirror pre */ | |
| padding: 0.4em 0; | |
| } | |
| .CodeMirror-linenumber { | |
| padding: 0 8px 0 4px; | |
| } | |
| .CodeMirror-gutters { | |
| border-bottom-left-radius: 2px; | |
| border-top-left-radius: 2px; | |
| } | |
| .CodeMirror pre { | |
| /* In CM3 this went to 4px from 0 in CM2. This sets horizontal padding only, | |
| use .CodeMirror-lines for vertical */ | |
| padding: 0 0.4em; | |
| border: 0; | |
| border-radius: 0; | |
| } | |
| .CodeMirror-cursor { | |
| border-left: 1.4px solid black; | |
| } | |
| @media screen and (min-width: 2138px) and (max-width: 4319px) { | |
| .CodeMirror-cursor { | |
| border-left: 2px solid black; | |
| } | |
| } | |
| @media screen and (min-width: 4320px) { | |
| .CodeMirror-cursor { | |
| border-left: 4px solid black; | |
| } | |
| } | |
| /* | |
| Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org> | |
| Adapted from GitHub theme | |
| */ | |
| .highlight-base { | |
| color: #000; | |
| } | |
| .highlight-variable { | |
| color: #000; | |
| } | |
| .highlight-variable-2 { | |
| color: #1a1a1a; | |
| } | |
| .highlight-variable-3 { | |
| color: #333333; | |
| } | |
| .highlight-string { | |
| color: #BA2121; | |
| } | |
| .highlight-comment { | |
| color: #408080; | |
| font-style: italic; | |
| } | |
| .highlight-number { | |
| color: #080; | |
| } | |
| .highlight-atom { | |
| color: #88F; | |
| } | |
| .highlight-keyword { | |
| color: #008000; | |
| font-weight: bold; | |
| } | |
| .highlight-builtin { | |
| color: #008000; | |
| } | |
| .highlight-error { | |
| color: #f00; | |
| } | |
| .highlight-operator { | |
| color: #AA22FF; | |
| font-weight: bold; | |
| } | |
| .highlight-meta { | |
| color: #AA22FF; | |
| } | |
| /* previously not defined, copying from default codemirror */ | |
| .highlight-def { | |
| color: #00f; | |
| } | |
| .highlight-string-2 { | |
| color: #f50; | |
| } | |
| .highlight-qualifier { | |
| color: #555; | |
| } | |
| .highlight-bracket { | |
| color: #997; | |
| } | |
| .highlight-tag { | |
| color: #170; | |
| } | |
| .highlight-attribute { | |
| color: #00c; | |
| } | |
| .highlight-header { | |
| color: blue; | |
| } | |
| .highlight-quote { | |
| color: #090; | |
| } | |
| .highlight-link { | |
| color: #00c; | |
| } | |
| /* apply the same style to codemirror */ | |
| .cm-s-ipython span.cm-keyword { | |
| color: #008000; | |
| font-weight: bold; | |
| } | |
| .cm-s-ipython span.cm-atom { | |
| color: #88F; | |
| } | |
| .cm-s-ipython span.cm-number { | |
| color: #080; | |
| } | |
| .cm-s-ipython span.cm-def { | |
| color: #00f; | |
| } | |
| .cm-s-ipython span.cm-variable { | |
| color: #000; | |
| } | |
| .cm-s-ipython span.cm-operator { | |
| color: #AA22FF; | |
| font-weight: bold; | |
| } | |
| .cm-s-ipython span.cm-variable-2 { | |
| color: #1a1a1a; | |
| } | |
| .cm-s-ipython span.cm-variable-3 { | |
| color: #333333; | |
| } | |
| .cm-s-ipython span.cm-comment { | |
| color: #408080; | |
| font-style: italic; | |
| } | |
| .cm-s-ipython span.cm-string { | |
| color: #BA2121; | |
| } | |
| .cm-s-ipython span.cm-string-2 { | |
| color: #f50; | |
| } | |
| .cm-s-ipython span.cm-meta { | |
| color: #AA22FF; | |
| } | |
| .cm-s-ipython span.cm-qualifier { | |
| color: #555; | |
| } | |
| .cm-s-ipython span.cm-builtin { | |
| color: #008000; | |
| } | |
| .cm-s-ipython span.cm-bracket { | |
| color: #997; | |
| } | |
| .cm-s-ipython span.cm-tag { | |
| color: #170; | |
| } | |
| .cm-s-ipython span.cm-attribute { | |
| color: #00c; | |
| } | |
| .cm-s-ipython span.cm-header { | |
| color: blue; | |
| } | |
| .cm-s-ipython span.cm-quote { | |
| color: #090; | |
| } | |
| .cm-s-ipython span.cm-link { | |
| color: #00c; | |
| } | |
| .cm-s-ipython span.cm-error { | |
| color: #f00; | |
| } | |
| .cm-s-ipython span.cm-tab { | |
| background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=); | |
| background-position: right; | |
| background-repeat: no-repeat; | |
| } | |
| div.output_wrapper { | |
| /* this position must be relative to enable descendents to be absolute within it */ | |
| position: relative; | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: vertical; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: vertical; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: vertical; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: column; | |
| align-items: stretch; | |
| z-index: 1; | |
| } | |
| /* class for the output area when it should be height-limited */ | |
| div.output_scroll { | |
| /* ideally, this would be max-height, but FF barfs all over that */ | |
| height: 24em; | |
| /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */ | |
| width: 100%; | |
| overflow: auto; | |
| border-radius: 2px; | |
| -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); | |
| box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); | |
| display: block; | |
| } | |
| /* output div while it is collapsed */ | |
| div.output_collapsed { | |
| margin: 0px; | |
| padding: 0px; | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: vertical; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: vertical; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: vertical; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: column; | |
| align-items: stretch; | |
| } | |
| div.out_prompt_overlay { | |
| height: 100%; | |
| padding: 0px 0.4em; | |
| position: absolute; | |
| border-radius: 2px; | |
| } | |
| div.out_prompt_overlay:hover { | |
| /* use inner shadow to get border that is computed the same on WebKit/FF */ | |
| -webkit-box-shadow: inset 0 0 1px #000; | |
| box-shadow: inset 0 0 1px #000; | |
| background: rgba(240, 240, 240, 0.5); | |
| } | |
| div.output_prompt { | |
| color: #D84315; | |
| } | |
| /* This class is the outer container of all output sections. */ | |
| div.output_area { | |
| padding: 0px; | |
| page-break-inside: avoid; | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: horizontal; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: horizontal; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: horizontal; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: row; | |
| align-items: stretch; | |
| } | |
| div.output_area .MathJax_Display { | |
| text-align: left !important; | |
| } | |
| div.output_area .rendered_html table { | |
| margin-left: 0; | |
| margin-right: 0; | |
| } | |
| div.output_area .rendered_html img { | |
| margin-left: 0; | |
| margin-right: 0; | |
| } | |
| div.output_area img, | |
| div.output_area svg { | |
| max-width: 100%; | |
| height: auto; | |
| } | |
| div.output_area img.unconfined, | |
| div.output_area svg.unconfined { | |
| max-width: none; | |
| } | |
| div.output_area .mglyph > img { | |
| max-width: none; | |
| } | |
| /* This is needed to protect the pre formating from global settings such | |
| as that of bootstrap */ | |
| .output { | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: vertical; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: vertical; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: vertical; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: column; | |
| align-items: stretch; | |
| } | |
| @media (max-width: 540px) { | |
| div.output_area { | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: vertical; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: vertical; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: vertical; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: column; | |
| align-items: stretch; | |
| } | |
| } | |
| div.output_area pre { | |
| margin: 0; | |
| padding: 1px 0 1px 0; | |
| border: 0; | |
| vertical-align: baseline; | |
| color: black; | |
| background-color: transparent; | |
| border-radius: 0; | |
| } | |
| /* This class is for the output subarea inside the output_area and after | |
| the prompt div. */ | |
| div.output_subarea { | |
| overflow-x: auto; | |
| padding: 0.4em; | |
| /* Old browsers */ | |
| -webkit-box-flex: 1; | |
| -moz-box-flex: 1; | |
| box-flex: 1; | |
| /* Modern browsers */ | |
| flex: 1; | |
| max-width: calc(100% - 14ex); | |
| } | |
| div.output_scroll div.output_subarea { | |
| overflow-x: visible; | |
| } | |
| /* The rest of the output_* classes are for special styling of the different | |
| output types */ | |
| /* all text output has this class: */ | |
| div.output_text { | |
| text-align: left; | |
| color: #000; | |
| /* This has to match that of the the CodeMirror class line-height below */ | |
| line-height: 1.21429em; | |
| } | |
| /* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */ | |
| div.output_stderr { | |
| background: #fdd; | |
| /* very light red background for stderr */ | |
| } | |
| div.output_latex { | |
| text-align: left; | |
| } | |
| /* Empty output_javascript divs should have no height */ | |
| div.output_javascript:empty { | |
| padding: 0; | |
| } | |
| .js-error { | |
| color: darkred; | |
| } | |
| /* raw_input styles */ | |
| div.raw_input_container { | |
| line-height: 1.21429em; | |
| padding-top: 5px; | |
| } | |
| pre.raw_input_prompt { | |
| /* nothing needed here. */ | |
| } | |
| input.raw_input { | |
| font-family: monospace; | |
| font-size: inherit; | |
| color: inherit; | |
| width: auto; | |
| /* make sure input baseline aligns with prompt */ | |
| vertical-align: baseline; | |
| /* padding + margin = 0.5em between prompt and cursor */ | |
| padding: 0em 0.25em; | |
| margin: 0em 0.25em; | |
| } | |
| input.raw_input:focus { | |
| box-shadow: none; | |
| } | |
| p.p-space { | |
| margin-bottom: 10px; | |
| } | |
| div.output_unrecognized { | |
| padding: 5px; | |
| font-weight: bold; | |
| color: red; | |
| } | |
| div.output_unrecognized a { | |
| color: inherit; | |
| text-decoration: none; | |
| } | |
| div.output_unrecognized a:hover { | |
| color: inherit; | |
| text-decoration: none; | |
| } | |
| .rendered_html { | |
| color: #000; | |
| /* any extras will just be numbers: */ | |
| } | |
| .rendered_html em { | |
| font-style: italic; | |
| } | |
| .rendered_html strong { | |
| font-weight: bold; | |
| } | |
| .rendered_html u { | |
| text-decoration: underline; | |
| } | |
| .rendered_html :link { | |
| text-decoration: underline; | |
| } | |
| .rendered_html :visited { | |
| text-decoration: underline; | |
| } | |
| .rendered_html h1 { | |
| font-size: 185.7%; | |
| margin: 1.08em 0 0 0; | |
| font-weight: bold; | |
| line-height: 1.0; | |
| } | |
| .rendered_html h2 { | |
| font-size: 157.1%; | |
| margin: 1.27em 0 0 0; | |
| font-weight: bold; | |
| line-height: 1.0; | |
| } | |
| .rendered_html h3 { | |
| font-size: 128.6%; | |
| margin: 1.55em 0 0 0; | |
| font-weight: bold; | |
| line-height: 1.0; | |
| } | |
| .rendered_html h4 { | |
| font-size: 100%; | |
| margin: 2em 0 0 0; | |
| font-weight: bold; | |
| line-height: 1.0; | |
| } | |
| .rendered_html h5 { | |
| font-size: 100%; | |
| margin: 2em 0 0 0; | |
| font-weight: bold; | |
| line-height: 1.0; | |
| font-style: italic; | |
| } | |
| .rendered_html h6 { | |
| font-size: 100%; | |
| margin: 2em 0 0 0; | |
| font-weight: bold; | |
| line-height: 1.0; | |
| font-style: italic; | |
| } | |
| .rendered_html h1:first-child { | |
| margin-top: 0.538em; | |
| } | |
| .rendered_html h2:first-child { | |
| margin-top: 0.636em; | |
| } | |
| .rendered_html h3:first-child { | |
| margin-top: 0.777em; | |
| } | |
| .rendered_html h4:first-child { | |
| margin-top: 1em; | |
| } | |
| .rendered_html h5:first-child { | |
| margin-top: 1em; | |
| } | |
| .rendered_html h6:first-child { | |
| margin-top: 1em; | |
| } | |
| .rendered_html ul:not(.list-inline), | |
| .rendered_html ol:not(.list-inline) { | |
| padding-left: 2em; | |
| } | |
| .rendered_html ul { | |
| list-style: disc; | |
| } | |
| .rendered_html ul ul { | |
| list-style: square; | |
| margin-top: 0; | |
| } | |
| .rendered_html ul ul ul { | |
| list-style: circle; | |
| } | |
| .rendered_html ol { | |
| list-style: decimal; | |
| } | |
| .rendered_html ol ol { | |
| list-style: upper-alpha; | |
| margin-top: 0; | |
| } | |
| .rendered_html ol ol ol { | |
| list-style: lower-alpha; | |
| } | |
| .rendered_html ol ol ol ol { | |
| list-style: lower-roman; | |
| } | |
| .rendered_html ol ol ol ol ol { | |
| list-style: decimal; | |
| } | |
| .rendered_html * + ul { | |
| margin-top: 1em; | |
| } | |
| .rendered_html * + ol { | |
| margin-top: 1em; | |
| } | |
| .rendered_html hr { | |
| color: black; | |
| background-color: black; | |
| } | |
| .rendered_html pre { | |
| margin: 1em 2em; | |
| padding: 0px; | |
| background-color: #fff; | |
| } | |
| .rendered_html code { | |
| background-color: #eff0f1; | |
| } | |
| .rendered_html p code { | |
| padding: 1px 5px; | |
| } | |
| .rendered_html pre code { | |
| background-color: #fff; | |
| } | |
| .rendered_html pre, | |
| .rendered_html code { | |
| border: 0; | |
| color: #000; | |
| font-size: 100%; | |
| } | |
| .rendered_html blockquote { | |
| margin: 1em 2em; | |
| } | |
| .rendered_html table { | |
| margin-left: auto; | |
| margin-right: auto; | |
| border: none; | |
| border-collapse: collapse; | |
| border-spacing: 0; | |
| color: black; | |
| font-size: 12px; | |
| table-layout: fixed; | |
| } | |
| .rendered_html thead { | |
| border-bottom: 1px solid black; | |
| vertical-align: bottom; | |
| } | |
| .rendered_html tr, | |
| .rendered_html th, | |
| .rendered_html td { | |
| text-align: right; | |
| vertical-align: middle; | |
| padding: 0.5em 0.5em; | |
| line-height: normal; | |
| white-space: normal; | |
| max-width: none; | |
| border: none; | |
| } | |
| .rendered_html th { | |
| font-weight: bold; | |
| } | |
| .rendered_html tbody tr:nth-child(odd) { | |
| background: #f5f5f5; | |
| } | |
| .rendered_html tbody tr:hover { | |
| background: rgba(66, 165, 245, 0.2); | |
| } | |
| .rendered_html * + table { | |
| margin-top: 1em; | |
| } | |
| .rendered_html p { | |
| text-align: left; | |
| } | |
| .rendered_html * + p { | |
| margin-top: 1em; | |
| } | |
| .rendered_html img { | |
| display: block; | |
| margin-left: auto; | |
| margin-right: auto; | |
| } | |
| .rendered_html * + img { | |
| margin-top: 1em; | |
| } | |
| .rendered_html img, | |
| .rendered_html svg { | |
| max-width: 100%; | |
| height: auto; | |
| } | |
| .rendered_html img.unconfined, | |
| .rendered_html svg.unconfined { | |
| max-width: none; | |
| } | |
| .rendered_html .alert { | |
| margin-bottom: initial; | |
| } | |
| .rendered_html * + .alert { | |
| margin-top: 1em; | |
| } | |
| [dir="rtl"] .rendered_html p { | |
| text-align: right; | |
| } | |
| div.text_cell { | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: horizontal; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: horizontal; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: horizontal; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: row; | |
| align-items: stretch; | |
| } | |
| @media (max-width: 540px) { | |
| div.text_cell > div.prompt { | |
| display: none; | |
| } | |
| } | |
| div.text_cell_render { | |
| /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/ | |
| outline: none; | |
| resize: none; | |
| width: inherit; | |
| border-style: none; | |
| padding: 0.5em 0.5em 0.5em 0.4em; | |
| color: #000; | |
| box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| -webkit-box-sizing: border-box; | |
| } | |
| a.anchor-link:link { | |
| text-decoration: none; | |
| padding: 0px 20px; | |
| visibility: hidden; | |
| } | |
| h1:hover .anchor-link, | |
| h2:hover .anchor-link, | |
| h3:hover .anchor-link, | |
| h4:hover .anchor-link, | |
| h5:hover .anchor-link, | |
| h6:hover .anchor-link { | |
| visibility: visible; | |
| } | |
| .text_cell.rendered .input_area { | |
| display: none; | |
| } | |
| .text_cell.rendered .rendered_html { | |
| overflow-x: auto; | |
| overflow-y: hidden; | |
| } | |
| .text_cell.rendered .rendered_html tr, | |
| .text_cell.rendered .rendered_html th, | |
| .text_cell.rendered .rendered_html td { | |
| max-width: none; | |
| } | |
| .text_cell.unrendered .text_cell_render { | |
| display: none; | |
| } | |
| .text_cell .dropzone .input_area { | |
| border: 2px dashed #bababa; | |
| margin: -1px; | |
| } | |
| .cm-header-1, | |
| .cm-header-2, | |
| .cm-header-3, | |
| .cm-header-4, | |
| .cm-header-5, | |
| .cm-header-6 { | |
| font-weight: bold; | |
| font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; | |
| } | |
| .cm-header-1 { | |
| font-size: 185.7%; | |
| } | |
| .cm-header-2 { | |
| font-size: 157.1%; | |
| } | |
| .cm-header-3 { | |
| font-size: 128.6%; | |
| } | |
| .cm-header-4 { | |
| font-size: 110%; | |
| } | |
| .cm-header-5 { | |
| font-size: 100%; | |
| font-style: italic; | |
| } | |
| .cm-header-6 { | |
| font-size: 100%; | |
| font-style: italic; | |
| } | |
| /*! | |
| * | |
| * IPython notebook webapp | |
| * | |
| */ | |
| @media (max-width: 767px) { | |
| .notebook_app { | |
| padding-left: 0px; | |
| padding-right: 0px; | |
| } | |
| } | |
| #ipython-main-app { | |
| box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| -webkit-box-sizing: border-box; | |
| height: 100%; | |
| } | |
| div#notebook_panel { | |
| margin: 0px; | |
| padding: 0px; | |
| box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| -webkit-box-sizing: border-box; | |
| height: 100%; | |
| } | |
| div#notebook { | |
| font-size: 14px; | |
| line-height: 20px; | |
| overflow-y: hidden; | |
| overflow-x: auto; | |
| width: 100%; | |
| /* This spaces the page away from the edge of the notebook area */ | |
| padding-top: 20px; | |
| margin: 0px; | |
| outline: none; | |
| box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| -webkit-box-sizing: border-box; | |
| min-height: 100%; | |
| } | |
| @media not print { | |
| #notebook-container { | |
| padding: 15px; | |
| background-color: #fff; | |
| min-height: 0; | |
| -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); | |
| box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); | |
| } | |
| } | |
| @media print { | |
| #notebook-container { | |
| width: 100%; | |
| } | |
| } | |
| div.ui-widget-content { | |
| border: 1px solid #ababab; | |
| outline: none; | |
| } | |
| pre.dialog { | |
| background-color: #f7f7f7; | |
| border: 1px solid #ddd; | |
| border-radius: 2px; | |
| padding: 0.4em; | |
| padding-left: 2em; | |
| } | |
| p.dialog { | |
| padding: 0.2em; | |
| } | |
| /* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems | |
| to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do. | |
| */ | |
| pre, | |
| code, | |
| kbd, | |
| samp { | |
| white-space: pre-wrap; | |
| } | |
| #fonttest { | |
| font-family: monospace; | |
| } | |
| p { | |
| margin-bottom: 0; | |
| } | |
| .end_space { | |
| min-height: 100px; | |
| transition: height .2s ease; | |
| } | |
| .notebook_app > #header { | |
| -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); | |
| box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); | |
| } | |
| @media not print { | |
| .notebook_app { | |
| background-color: #EEE; | |
| } | |
| } | |
| kbd { | |
| border-style: solid; | |
| border-width: 1px; | |
| box-shadow: none; | |
| margin: 2px; | |
| padding-left: 2px; | |
| padding-right: 2px; | |
| padding-top: 1px; | |
| padding-bottom: 1px; | |
| } | |
| .jupyter-keybindings { | |
| padding: 1px; | |
| line-height: 24px; | |
| border-bottom: 1px solid gray; | |
| } | |
| .jupyter-keybindings input { | |
| margin: 0; | |
| padding: 0; | |
| border: none; | |
| } | |
| .jupyter-keybindings i { | |
| padding: 6px; | |
| } | |
| .well code { | |
| background-color: #ffffff; | |
| border-color: #ababab; | |
| border-width: 1px; | |
| border-style: solid; | |
| padding: 2px; | |
| padding-top: 1px; | |
| padding-bottom: 1px; | |
| } | |
| /* CSS for the cell toolbar */ | |
| .celltoolbar { | |
| border: thin solid #CFCFCF; | |
| border-bottom: none; | |
| background: #EEE; | |
| border-radius: 2px 2px 0px 0px; | |
| width: 100%; | |
| height: 29px; | |
| padding-right: 4px; | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: horizontal; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: horizontal; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: horizontal; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: row; | |
| align-items: stretch; | |
| /* Old browsers */ | |
| -webkit-box-pack: end; | |
| -moz-box-pack: end; | |
| box-pack: end; | |
| /* Modern browsers */ | |
| justify-content: flex-end; | |
| display: -webkit-flex; | |
| } | |
| @media print { | |
| .celltoolbar { | |
| display: none; | |
| } | |
| } | |
| .ctb_hideshow { | |
| display: none; | |
| vertical-align: bottom; | |
| } | |
| /* ctb_show is added to the ctb_hideshow div to show the cell toolbar. | |
| Cell toolbars are only shown when the ctb_global_show class is also set. | |
| */ | |
| .ctb_global_show .ctb_show.ctb_hideshow { | |
| display: block; | |
| } | |
| .ctb_global_show .ctb_show + .input_area, | |
| .ctb_global_show .ctb_show + div.text_cell_input, | |
| .ctb_global_show .ctb_show ~ div.text_cell_render { | |
| border-top-right-radius: 0px; | |
| border-top-left-radius: 0px; | |
| } | |
| .ctb_global_show .ctb_show ~ div.text_cell_render { | |
| border: 1px solid #cfcfcf; | |
| } | |
| .celltoolbar { | |
| font-size: 87%; | |
| padding-top: 3px; | |
| } | |
| .celltoolbar select { | |
| display: block; | |
| width: 100%; | |
| height: 32px; | |
| padding: 6px 12px; | |
| font-size: 13px; | |
| line-height: 1.42857143; | |
| color: #555555; | |
| background-color: #fff; | |
| background-image: none; | |
| border: 1px solid #ccc; | |
| border-radius: 2px; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
| box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
| -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; | |
| -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; | |
| transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; | |
| height: 30px; | |
| padding: 5px 10px; | |
| font-size: 12px; | |
| line-height: 1.5; | |
| border-radius: 1px; | |
| width: inherit; | |
| font-size: inherit; | |
| height: 22px; | |
| padding: 0px; | |
| display: inline-block; | |
| } | |
| .celltoolbar select:focus { | |
| border-color: #66afe9; | |
| outline: 0; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); | |
| box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); | |
| } | |
| .celltoolbar select::-moz-placeholder { | |
| color: #999; | |
| opacity: 1; | |
| } | |
| .celltoolbar select:-ms-input-placeholder { | |
| color: #999; | |
| } | |
| .celltoolbar select::-webkit-input-placeholder { | |
| color: #999; | |
| } | |
| .celltoolbar select::-ms-expand { | |
| border: 0; | |
| background-color: transparent; | |
| } | |
| .celltoolbar select[disabled], | |
| .celltoolbar select[readonly], | |
| fieldset[disabled] .celltoolbar select { | |
| background-color: #eeeeee; | |
| opacity: 1; | |
| } | |
| .celltoolbar select[disabled], | |
| fieldset[disabled] .celltoolbar select { | |
| cursor: not-allowed; | |
| } | |
| textarea.celltoolbar select { | |
| height: auto; | |
| } | |
| select.celltoolbar select { | |
| height: 30px; | |
| line-height: 30px; | |
| } | |
| textarea.celltoolbar select, | |
| select[multiple].celltoolbar select { | |
| height: auto; | |
| } | |
| .celltoolbar label { | |
| margin-left: 5px; | |
| margin-right: 5px; | |
| } | |
| .tags_button_container { | |
| width: 100%; | |
| display: flex; | |
| } | |
| .tag-container { | |
| display: flex; | |
| flex-direction: row; | |
| flex-grow: 1; | |
| overflow: hidden; | |
| position: relative; | |
| } | |
| .tag-container > * { | |
| margin: 0 4px; | |
| } | |
| .remove-tag-btn { | |
| margin-left: 4px; | |
| } | |
| .tags-input { | |
| display: flex; | |
| } | |
| .cell-tag:last-child:after { | |
| content: ""; | |
| position: absolute; | |
| right: 0; | |
| width: 40px; | |
| height: 100%; | |
| /* Fade to background color of cell toolbar */ | |
| background: linear-gradient(to right, rgba(0, 0, 0, 0), #EEE); | |
| } | |
| .tags-input > * { | |
| margin-left: 4px; | |
| } | |
| .cell-tag, | |
| .tags-input input, | |
| .tags-input button { | |
| display: block; | |
| width: 100%; | |
| height: 32px; | |
| padding: 6px 12px; | |
| font-size: 13px; | |
| line-height: 1.42857143; | |
| color: #555555; | |
| background-color: #fff; | |
| background-image: none; | |
| border: 1px solid #ccc; | |
| border-radius: 2px; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
| box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
| -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; | |
| -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; | |
| transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; | |
| height: 30px; | |
| padding: 5px 10px; | |
| font-size: 12px; | |
| line-height: 1.5; | |
| border-radius: 1px; | |
| box-shadow: none; | |
| width: inherit; | |
| font-size: inherit; | |
| height: 22px; | |
| line-height: 22px; | |
| padding: 0px 4px; | |
| display: inline-block; | |
| } | |
| .cell-tag:focus, | |
| .tags-input input:focus, | |
| .tags-input button:focus { | |
| border-color: #66afe9; | |
| outline: 0; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); | |
| box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); | |
| } | |
| .cell-tag::-moz-placeholder, | |
| .tags-input input::-moz-placeholder, | |
| .tags-input button::-moz-placeholder { | |
| color: #999; | |
| opacity: 1; | |
| } | |
| .cell-tag:-ms-input-placeholder, | |
| .tags-input input:-ms-input-placeholder, | |
| .tags-input button:-ms-input-placeholder { | |
| color: #999; | |
| } | |
| .cell-tag::-webkit-input-placeholder, | |
| .tags-input input::-webkit-input-placeholder, | |
| .tags-input button::-webkit-input-placeholder { | |
| color: #999; | |
| } | |
| .cell-tag::-ms-expand, | |
| .tags-input input::-ms-expand, | |
| .tags-input button::-ms-expand { | |
| border: 0; | |
| background-color: transparent; | |
| } | |
| .cell-tag[disabled], | |
| .tags-input input[disabled], | |
| .tags-input button[disabled], | |
| .cell-tag[readonly], | |
| .tags-input input[readonly], | |
| .tags-input button[readonly], | |
| fieldset[disabled] .cell-tag, | |
| fieldset[disabled] .tags-input input, | |
| fieldset[disabled] .tags-input button { | |
| background-color: #eeeeee; | |
| opacity: 1; | |
| } | |
| .cell-tag[disabled], | |
| .tags-input input[disabled], | |
| .tags-input button[disabled], | |
| fieldset[disabled] .cell-tag, | |
| fieldset[disabled] .tags-input input, | |
| fieldset[disabled] .tags-input button { | |
| cursor: not-allowed; | |
| } | |
| textarea.cell-tag, | |
| textarea.tags-input input, | |
| textarea.tags-input button { | |
| height: auto; | |
| } | |
| select.cell-tag, | |
| select.tags-input input, | |
| select.tags-input button { | |
| height: 30px; | |
| line-height: 30px; | |
| } | |
| textarea.cell-tag, | |
| textarea.tags-input input, | |
| textarea.tags-input button, | |
| select[multiple].cell-tag, | |
| select[multiple].tags-input input, | |
| select[multiple].tags-input button { | |
| height: auto; | |
| } | |
| .cell-tag, | |
| .tags-input button { | |
| padding: 0px 4px; | |
| } | |
| .cell-tag { | |
| background-color: #fff; | |
| white-space: nowrap; | |
| } | |
| .tags-input input[type=text]:focus { | |
| outline: none; | |
| box-shadow: none; | |
| border-color: #ccc; | |
| } | |
| .completions { | |
| position: absolute; | |
| z-index: 110; | |
| overflow: hidden; | |
| border: 1px solid #ababab; | |
| border-radius: 2px; | |
| -webkit-box-shadow: 0px 6px 10px -1px #adadad; | |
| box-shadow: 0px 6px 10px -1px #adadad; | |
| line-height: 1; | |
| } | |
| .completions select { | |
| background: white; | |
| outline: none; | |
| border: none; | |
| padding: 0px; | |
| margin: 0px; | |
| overflow: auto; | |
| font-family: monospace; | |
| font-size: 110%; | |
| color: #000; | |
| width: auto; | |
| } | |
| .completions select option.context { | |
| color: #286090; | |
| } | |
| #kernel_logo_widget .current_kernel_logo { | |
| display: none; | |
| margin-top: -1px; | |
| margin-bottom: -1px; | |
| width: 32px; | |
| height: 32px; | |
| } | |
| [dir="rtl"] #kernel_logo_widget { | |
| float: left !important; | |
| float: left; | |
| } | |
| .modal .modal-body .move-path { | |
| display: flex; | |
| flex-direction: row; | |
| justify-content: space; | |
| align-items: center; | |
| } | |
| .modal .modal-body .move-path .server-root { | |
| padding-right: 20px; | |
| } | |
| .modal .modal-body .move-path .path-input { | |
| flex: 1; | |
| } | |
| #menubar { | |
| box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| -webkit-box-sizing: border-box; | |
| margin-top: 1px; | |
| } | |
| #menubar .navbar { | |
| border-top: 1px; | |
| border-radius: 0px 0px 2px 2px; | |
| margin-bottom: 0px; | |
| } | |
| #menubar .navbar-toggle { | |
| float: left; | |
| padding-top: 7px; | |
| padding-bottom: 7px; | |
| border: none; | |
| } | |
| #menubar .navbar-collapse { | |
| clear: left; | |
| } | |
| [dir="rtl"] #menubar .navbar-toggle { | |
| float: right; | |
| } | |
| [dir="rtl"] #menubar .navbar-collapse { | |
| clear: right; | |
| } | |
| [dir="rtl"] #menubar .navbar-nav { | |
| float: right; | |
| } | |
| [dir="rtl"] #menubar .nav { | |
| padding-right: 0px; | |
| } | |
| [dir="rtl"] #menubar .navbar-nav > li { | |
| float: right; | |
| } | |
| [dir="rtl"] #menubar .navbar-right { | |
| float: left !important; | |
| } | |
| [dir="rtl"] ul.dropdown-menu { | |
| text-align: right; | |
| left: auto; | |
| } | |
| [dir="rtl"] ul#new-menu.dropdown-menu { | |
| right: auto; | |
| left: 0; | |
| } | |
| .nav-wrapper { | |
| border-bottom: 1px solid #e7e7e7; | |
| } | |
| i.menu-icon { | |
| padding-top: 4px; | |
| } | |
| [dir="rtl"] i.menu-icon.pull-right { | |
| float: left !important; | |
| float: left; | |
| } | |
| ul#help_menu li a { | |
| overflow: hidden; | |
| padding-right: 2.2em; | |
| } | |
| ul#help_menu li a i { | |
| margin-right: -1.2em; | |
| } | |
| [dir="rtl"] ul#help_menu li a { | |
| padding-left: 2.2em; | |
| } | |
| [dir="rtl"] ul#help_menu li a i { | |
| margin-right: 0; | |
| margin-left: -1.2em; | |
| } | |
| [dir="rtl"] ul#help_menu li a i.pull-right { | |
| float: left !important; | |
| float: left; | |
| } | |
| .dropdown-submenu { | |
| position: relative; | |
| } | |
| .dropdown-submenu > .dropdown-menu { | |
| top: 0; | |
| left: 100%; | |
| margin-top: -6px; | |
| margin-left: -1px; | |
| } | |
| [dir="rtl"] .dropdown-submenu > .dropdown-menu { | |
| right: 100%; | |
| margin-right: -1px; | |
| } | |
| .dropdown-submenu:hover > .dropdown-menu { | |
| display: block; | |
| } | |
| .dropdown-submenu > a:after { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| display: block; | |
| content: "\f0da"; | |
| float: right; | |
| color: #333333; | |
| margin-top: 2px; | |
| margin-right: -10px; | |
| } | |
| .dropdown-submenu > a:after.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .dropdown-submenu > a:after.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .dropdown-submenu > a:after.pull-left { | |
| margin-right: .3em; | |
| } | |
| .dropdown-submenu > a:after.pull-right { | |
| margin-left: .3em; | |
| } | |
| [dir="rtl"] .dropdown-submenu > a:after { | |
| float: left; | |
| content: "\f0d9"; | |
| margin-right: 0; | |
| margin-left: -10px; | |
| } | |
| .dropdown-submenu:hover > a:after { | |
| color: #262626; | |
| } | |
| .dropdown-submenu.pull-left { | |
| float: none; | |
| } | |
| .dropdown-submenu.pull-left > .dropdown-menu { | |
| left: -100%; | |
| margin-left: 10px; | |
| } | |
| #notification_area { | |
| float: right !important; | |
| float: right; | |
| z-index: 10; | |
| } | |
| [dir="rtl"] #notification_area { | |
| float: left !important; | |
| float: left; | |
| } | |
| .indicator_area { | |
| float: right !important; | |
| float: right; | |
| color: #777; | |
| margin-left: 5px; | |
| margin-right: 5px; | |
| width: 11px; | |
| z-index: 10; | |
| text-align: center; | |
| width: auto; | |
| } | |
| [dir="rtl"] .indicator_area { | |
| float: left !important; | |
| float: left; | |
| } | |
| #kernel_indicator { | |
| float: right !important; | |
| float: right; | |
| color: #777; | |
| margin-left: 5px; | |
| margin-right: 5px; | |
| width: 11px; | |
| z-index: 10; | |
| text-align: center; | |
| width: auto; | |
| border-left: 1px solid; | |
| } | |
| #kernel_indicator .kernel_indicator_name { | |
| padding-left: 5px; | |
| padding-right: 5px; | |
| } | |
| [dir="rtl"] #kernel_indicator { | |
| float: left !important; | |
| float: left; | |
| border-left: 0; | |
| border-right: 1px solid; | |
| } | |
| #modal_indicator { | |
| float: right !important; | |
| float: right; | |
| color: #777; | |
| margin-left: 5px; | |
| margin-right: 5px; | |
| width: 11px; | |
| z-index: 10; | |
| text-align: center; | |
| width: auto; | |
| } | |
| [dir="rtl"] #modal_indicator { | |
| float: left !important; | |
| float: left; | |
| } | |
| #readonly-indicator { | |
| float: right !important; | |
| float: right; | |
| color: #777; | |
| margin-left: 5px; | |
| margin-right: 5px; | |
| width: 11px; | |
| z-index: 10; | |
| text-align: center; | |
| width: auto; | |
| margin-top: 2px; | |
| margin-bottom: 0px; | |
| margin-left: 0px; | |
| margin-right: 0px; | |
| display: none; | |
| } | |
| .modal_indicator:before { | |
| width: 1.28571429em; | |
| text-align: center; | |
| } | |
| .edit_mode .modal_indicator:before { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| content: "\f040"; | |
| } | |
| .edit_mode .modal_indicator:before.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .edit_mode .modal_indicator:before.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .edit_mode .modal_indicator:before.pull-left { | |
| margin-right: .3em; | |
| } | |
| .edit_mode .modal_indicator:before.pull-right { | |
| margin-left: .3em; | |
| } | |
| .command_mode .modal_indicator:before { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| content: ' '; | |
| } | |
| .command_mode .modal_indicator:before.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .command_mode .modal_indicator:before.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .command_mode .modal_indicator:before.pull-left { | |
| margin-right: .3em; | |
| } | |
| .command_mode .modal_indicator:before.pull-right { | |
| margin-left: .3em; | |
| } | |
| .kernel_idle_icon:before { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| content: "\f10c"; | |
| } | |
| .kernel_idle_icon:before.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .kernel_idle_icon:before.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .kernel_idle_icon:before.pull-left { | |
| margin-right: .3em; | |
| } | |
| .kernel_idle_icon:before.pull-right { | |
| margin-left: .3em; | |
| } | |
| .kernel_busy_icon:before { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| content: "\f111"; | |
| } | |
| .kernel_busy_icon:before.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .kernel_busy_icon:before.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .kernel_busy_icon:before.pull-left { | |
| margin-right: .3em; | |
| } | |
| .kernel_busy_icon:before.pull-right { | |
| margin-left: .3em; | |
| } | |
| .kernel_dead_icon:before { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| content: "\f1e2"; | |
| } | |
| .kernel_dead_icon:before.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .kernel_dead_icon:before.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .kernel_dead_icon:before.pull-left { | |
| margin-right: .3em; | |
| } | |
| .kernel_dead_icon:before.pull-right { | |
| margin-left: .3em; | |
| } | |
| .kernel_disconnected_icon:before { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| content: "\f127"; | |
| } | |
| .kernel_disconnected_icon:before.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .kernel_disconnected_icon:before.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .kernel_disconnected_icon:before.pull-left { | |
| margin-right: .3em; | |
| } | |
| .kernel_disconnected_icon:before.pull-right { | |
| margin-left: .3em; | |
| } | |
| .notification_widget { | |
| color: #777; | |
| z-index: 10; | |
| background: rgba(240, 240, 240, 0.5); | |
| margin-right: 4px; | |
| color: #333; | |
| background-color: #fff; | |
| border-color: #ccc; | |
| } | |
| .notification_widget:focus, | |
| .notification_widget.focus { | |
| color: #333; | |
| background-color: #e6e6e6; | |
| border-color: #8c8c8c; | |
| } | |
| .notification_widget:hover { | |
| color: #333; | |
| background-color: #e6e6e6; | |
| border-color: #adadad; | |
| } | |
| .notification_widget:active, | |
| .notification_widget.active, | |
| .open > .dropdown-toggle.notification_widget { | |
| color: #333; | |
| background-color: #e6e6e6; | |
| border-color: #adadad; | |
| } | |
| .notification_widget:active:hover, | |
| .notification_widget.active:hover, | |
| .open > .dropdown-toggle.notification_widget:hover, | |
| .notification_widget:active:focus, | |
| .notification_widget.active:focus, | |
| .open > .dropdown-toggle.notification_widget:focus, | |
| .notification_widget:active.focus, | |
| .notification_widget.active.focus, | |
| .open > .dropdown-toggle.notification_widget.focus { | |
| color: #333; | |
| background-color: #d4d4d4; | |
| border-color: #8c8c8c; | |
| } | |
| .notification_widget:active, | |
| .notification_widget.active, | |
| .open > .dropdown-toggle.notification_widget { | |
| background-image: none; | |
| } | |
| .notification_widget.disabled:hover, | |
| .notification_widget[disabled]:hover, | |
| fieldset[disabled] .notification_widget:hover, | |
| .notification_widget.disabled:focus, | |
| .notification_widget[disabled]:focus, | |
| fieldset[disabled] .notification_widget:focus, | |
| .notification_widget.disabled.focus, | |
| .notification_widget[disabled].focus, | |
| fieldset[disabled] .notification_widget.focus { | |
| background-color: #fff; | |
| border-color: #ccc; | |
| } | |
| .notification_widget .badge { | |
| color: #fff; | |
| background-color: #333; | |
| } | |
| .notification_widget.warning { | |
| color: #fff; | |
| background-color: #f0ad4e; | |
| border-color: #eea236; | |
| } | |
| .notification_widget.warning:focus, | |
| .notification_widget.warning.focus { | |
| color: #fff; | |
| background-color: #ec971f; | |
| border-color: #985f0d; | |
| } | |
| .notification_widget.warning:hover { | |
| color: #fff; | |
| background-color: #ec971f; | |
| border-color: #d58512; | |
| } | |
| .notification_widget.warning:active, | |
| .notification_widget.warning.active, | |
| .open > .dropdown-toggle.notification_widget.warning { | |
| color: #fff; | |
| background-color: #ec971f; | |
| border-color: #d58512; | |
| } | |
| .notification_widget.warning:active:hover, | |
| .notification_widget.warning.active:hover, | |
| .open > .dropdown-toggle.notification_widget.warning:hover, | |
| .notification_widget.warning:active:focus, | |
| .notification_widget.warning.active:focus, | |
| .open > .dropdown-toggle.notification_widget.warning:focus, | |
| .notification_widget.warning:active.focus, | |
| .notification_widget.warning.active.focus, | |
| .open > .dropdown-toggle.notification_widget.warning.focus { | |
| color: #fff; | |
| background-color: #d58512; | |
| border-color: #985f0d; | |
| } | |
| .notification_widget.warning:active, | |
| .notification_widget.warning.active, | |
| .open > .dropdown-toggle.notification_widget.warning { | |
| background-image: none; | |
| } | |
| .notification_widget.warning.disabled:hover, | |
| .notification_widget.warning[disabled]:hover, | |
| fieldset[disabled] .notification_widget.warning:hover, | |
| .notification_widget.warning.disabled:focus, | |
| .notification_widget.warning[disabled]:focus, | |
| fieldset[disabled] .notification_widget.warning:focus, | |
| .notification_widget.warning.disabled.focus, | |
| .notification_widget.warning[disabled].focus, | |
| fieldset[disabled] .notification_widget.warning.focus { | |
| background-color: #f0ad4e; | |
| border-color: #eea236; | |
| } | |
| .notification_widget.warning .badge { | |
| color: #f0ad4e; | |
| background-color: #fff; | |
| } | |
| .notification_widget.success { | |
| color: #fff; | |
| background-color: #5cb85c; | |
| border-color: #4cae4c; | |
| } | |
| .notification_widget.success:focus, | |
| .notification_widget.success.focus { | |
| color: #fff; | |
| background-color: #449d44; | |
| border-color: #255625; | |
| } | |
| .notification_widget.success:hover { | |
| color: #fff; | |
| background-color: #449d44; | |
| border-color: #398439; | |
| } | |
| .notification_widget.success:active, | |
| .notification_widget.success.active, | |
| .open > .dropdown-toggle.notification_widget.success { | |
| color: #fff; | |
| background-color: #449d44; | |
| border-color: #398439; | |
| } | |
| .notification_widget.success:active:hover, | |
| .notification_widget.success.active:hover, | |
| .open > .dropdown-toggle.notification_widget.success:hover, | |
| .notification_widget.success:active:focus, | |
| .notification_widget.success.active:focus, | |
| .open > .dropdown-toggle.notification_widget.success:focus, | |
| .notification_widget.success:active.focus, | |
| .notification_widget.success.active.focus, | |
| .open > .dropdown-toggle.notification_widget.success.focus { | |
| color: #fff; | |
| background-color: #398439; | |
| border-color: #255625; | |
| } | |
| .notification_widget.success:active, | |
| .notification_widget.success.active, | |
| .open > .dropdown-toggle.notification_widget.success { | |
| background-image: none; | |
| } | |
| .notification_widget.success.disabled:hover, | |
| .notification_widget.success[disabled]:hover, | |
| fieldset[disabled] .notification_widget.success:hover, | |
| .notification_widget.success.disabled:focus, | |
| .notification_widget.success[disabled]:focus, | |
| fieldset[disabled] .notification_widget.success:focus, | |
| .notification_widget.success.disabled.focus, | |
| .notification_widget.success[disabled].focus, | |
| fieldset[disabled] .notification_widget.success.focus { | |
| background-color: #5cb85c; | |
| border-color: #4cae4c; | |
| } | |
| .notification_widget.success .badge { | |
| color: #5cb85c; | |
| background-color: #fff; | |
| } | |
| .notification_widget.info { | |
| color: #fff; | |
| background-color: #5bc0de; | |
| border-color: #46b8da; | |
| } | |
| .notification_widget.info:focus, | |
| .notification_widget.info.focus { | |
| color: #fff; | |
| background-color: #31b0d5; | |
| border-color: #1b6d85; | |
| } | |
| .notification_widget.info:hover { | |
| color: #fff; | |
| background-color: #31b0d5; | |
| border-color: #269abc; | |
| } | |
| .notification_widget.info:active, | |
| .notification_widget.info.active, | |
| .open > .dropdown-toggle.notification_widget.info { | |
| color: #fff; | |
| background-color: #31b0d5; | |
| border-color: #269abc; | |
| } | |
| .notification_widget.info:active:hover, | |
| .notification_widget.info.active:hover, | |
| .open > .dropdown-toggle.notification_widget.info:hover, | |
| .notification_widget.info:active:focus, | |
| .notification_widget.info.active:focus, | |
| .open > .dropdown-toggle.notification_widget.info:focus, | |
| .notification_widget.info:active.focus, | |
| .notification_widget.info.active.focus, | |
| .open > .dropdown-toggle.notification_widget.info.focus { | |
| color: #fff; | |
| background-color: #269abc; | |
| border-color: #1b6d85; | |
| } | |
| .notification_widget.info:active, | |
| .notification_widget.info.active, | |
| .open > .dropdown-toggle.notification_widget.info { | |
| background-image: none; | |
| } | |
| .notification_widget.info.disabled:hover, | |
| .notification_widget.info[disabled]:hover, | |
| fieldset[disabled] .notification_widget.info:hover, | |
| .notification_widget.info.disabled:focus, | |
| .notification_widget.info[disabled]:focus, | |
| fieldset[disabled] .notification_widget.info:focus, | |
| .notification_widget.info.disabled.focus, | |
| .notification_widget.info[disabled].focus, | |
| fieldset[disabled] .notification_widget.info.focus { | |
| background-color: #5bc0de; | |
| border-color: #46b8da; | |
| } | |
| .notification_widget.info .badge { | |
| color: #5bc0de; | |
| background-color: #fff; | |
| } | |
| .notification_widget.danger { | |
| color: #fff; | |
| background-color: #d9534f; | |
| border-color: #d43f3a; | |
| } | |
| .notification_widget.danger:focus, | |
| .notification_widget.danger.focus { | |
| color: #fff; | |
| background-color: #c9302c; | |
| border-color: #761c19; | |
| } | |
| .notification_widget.danger:hover { | |
| color: #fff; | |
| background-color: #c9302c; | |
| border-color: #ac2925; | |
| } | |
| .notification_widget.danger:active, | |
| .notification_widget.danger.active, | |
| .open > .dropdown-toggle.notification_widget.danger { | |
| color: #fff; | |
| background-color: #c9302c; | |
| border-color: #ac2925; | |
| } | |
| .notification_widget.danger:active:hover, | |
| .notification_widget.danger.active:hover, | |
| .open > .dropdown-toggle.notification_widget.danger:hover, | |
| .notification_widget.danger:active:focus, | |
| .notification_widget.danger.active:focus, | |
| .open > .dropdown-toggle.notification_widget.danger:focus, | |
| .notification_widget.danger:active.focus, | |
| .notification_widget.danger.active.focus, | |
| .open > .dropdown-toggle.notification_widget.danger.focus { | |
| color: #fff; | |
| background-color: #ac2925; | |
| border-color: #761c19; | |
| } | |
| .notification_widget.danger:active, | |
| .notification_widget.danger.active, | |
| .open > .dropdown-toggle.notification_widget.danger { | |
| background-image: none; | |
| } | |
| .notification_widget.danger.disabled:hover, | |
| .notification_widget.danger[disabled]:hover, | |
| fieldset[disabled] .notification_widget.danger:hover, | |
| .notification_widget.danger.disabled:focus, | |
| .notification_widget.danger[disabled]:focus, | |
| fieldset[disabled] .notification_widget.danger:focus, | |
| .notification_widget.danger.disabled.focus, | |
| .notification_widget.danger[disabled].focus, | |
| fieldset[disabled] .notification_widget.danger.focus { | |
| background-color: #d9534f; | |
| border-color: #d43f3a; | |
| } | |
| .notification_widget.danger .badge { | |
| color: #d9534f; | |
| background-color: #fff; | |
| } | |
| div#pager { | |
| background-color: #fff; | |
| font-size: 14px; | |
| line-height: 20px; | |
| overflow: hidden; | |
| display: none; | |
| position: fixed; | |
| bottom: 0px; | |
| width: 100%; | |
| max-height: 50%; | |
| padding-top: 8px; | |
| -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); | |
| box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); | |
| /* Display over codemirror */ | |
| z-index: 100; | |
| /* Hack which prevents jquery ui resizable from changing top. */ | |
| top: auto !important; | |
| } | |
| div#pager pre { | |
| line-height: 1.21429em; | |
| color: #000; | |
| background-color: #f7f7f7; | |
| padding: 0.4em; | |
| } | |
| div#pager #pager-button-area { | |
| position: absolute; | |
| top: 8px; | |
| right: 20px; | |
| } | |
| div#pager #pager-contents { | |
| position: relative; | |
| overflow: auto; | |
| width: 100%; | |
| height: 100%; | |
| } | |
| div#pager #pager-contents #pager-container { | |
| position: relative; | |
| padding: 15px 0px; | |
| box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| -webkit-box-sizing: border-box; | |
| } | |
| div#pager .ui-resizable-handle { | |
| top: 0px; | |
| height: 8px; | |
| background: #f7f7f7; | |
| border-top: 1px solid #cfcfcf; | |
| border-bottom: 1px solid #cfcfcf; | |
| /* This injects handle bars (a short, wide = symbol) for | |
| the resize handle. */ | |
| } | |
| div#pager .ui-resizable-handle::after { | |
| content: ''; | |
| top: 2px; | |
| left: 50%; | |
| height: 3px; | |
| width: 30px; | |
| margin-left: -15px; | |
| position: absolute; | |
| border-top: 1px solid #cfcfcf; | |
| } | |
| .quickhelp { | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: horizontal; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: horizontal; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: horizontal; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: row; | |
| align-items: stretch; | |
| line-height: 1.8em; | |
| } | |
| .shortcut_key { | |
| display: inline-block; | |
| width: 21ex; | |
| text-align: right; | |
| font-family: monospace; | |
| } | |
| .shortcut_descr { | |
| display: inline-block; | |
| /* Old browsers */ | |
| -webkit-box-flex: 1; | |
| -moz-box-flex: 1; | |
| box-flex: 1; | |
| /* Modern browsers */ | |
| flex: 1; | |
| } | |
| span.save_widget { | |
| height: 30px; | |
| margin-top: 4px; | |
| display: flex; | |
| justify-content: flex-start; | |
| align-items: baseline; | |
| width: 50%; | |
| flex: 1; | |
| } | |
| span.save_widget span.filename { | |
| height: 100%; | |
| line-height: 1em; | |
| margin-left: 16px; | |
| border: none; | |
| font-size: 146.5%; | |
| text-overflow: ellipsis; | |
| overflow: hidden; | |
| white-space: nowrap; | |
| border-radius: 2px; | |
| } | |
| span.save_widget span.filename:hover { | |
| background-color: #e6e6e6; | |
| } | |
| [dir="rtl"] span.save_widget.pull-left { | |
| float: right !important; | |
| float: right; | |
| } | |
| [dir="rtl"] span.save_widget span.filename { | |
| margin-left: 0; | |
| margin-right: 16px; | |
| } | |
| span.checkpoint_status, | |
| span.autosave_status { | |
| font-size: small; | |
| white-space: nowrap; | |
| padding: 0 5px; | |
| } | |
| @media (max-width: 767px) { | |
| span.save_widget { | |
| font-size: small; | |
| padding: 0 0 0 5px; | |
| } | |
| span.checkpoint_status, | |
| span.autosave_status { | |
| display: none; | |
| } | |
| } | |
| @media (min-width: 768px) and (max-width: 991px) { | |
| span.checkpoint_status { | |
| display: none; | |
| } | |
| span.autosave_status { | |
| font-size: x-small; | |
| } | |
| } | |
| .toolbar { | |
| padding: 0px; | |
| margin-left: -5px; | |
| margin-top: 2px; | |
| margin-bottom: 5px; | |
| box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| -webkit-box-sizing: border-box; | |
| } | |
| .toolbar select, | |
| .toolbar label { | |
| width: auto; | |
| vertical-align: middle; | |
| margin-right: 2px; | |
| margin-bottom: 0px; | |
| display: inline; | |
| font-size: 92%; | |
| margin-left: 0.3em; | |
| margin-right: 0.3em; | |
| padding: 0px; | |
| padding-top: 3px; | |
| } | |
| .toolbar .btn { | |
| padding: 2px 8px; | |
| } | |
| .toolbar .btn-group { | |
| margin-top: 0px; | |
| margin-left: 5px; | |
| } | |
| .toolbar-btn-label { | |
| margin-left: 6px; | |
| } | |
| #maintoolbar { | |
| margin-bottom: -3px; | |
| margin-top: -8px; | |
| border: 0px; | |
| min-height: 27px; | |
| margin-left: 0px; | |
| padding-top: 11px; | |
| padding-bottom: 3px; | |
| } | |
| #maintoolbar .navbar-text { | |
| float: none; | |
| vertical-align: middle; | |
| text-align: right; | |
| margin-left: 5px; | |
| margin-right: 0px; | |
| margin-top: 0px; | |
| } | |
| .select-xs { | |
| height: 24px; | |
| } | |
| [dir="rtl"] .btn-group > .btn, | |
| .btn-group-vertical > .btn { | |
| float: right; | |
| } | |
| .pulse, | |
| .dropdown-menu > li > a.pulse, | |
| li.pulse > a.dropdown-toggle, | |
| li.pulse.open > a.dropdown-toggle { | |
| background-color: #F37626; | |
| color: white; | |
| } | |
| /** | |
| * Primary styles | |
| * | |
| * Author: Jupyter Development Team | |
| */ | |
| /** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot | |
| * of chance of beeing generated from the ../less/[samename].less file, you can | |
| * try to get back the less file by reverting somme commit in history | |
| **/ | |
| /* | |
| * We'll try to get something pretty, so we | |
| * have some strange css to have the scroll bar on | |
| * the left with fix button on the top right of the tooltip | |
| */ | |
| @-moz-keyframes fadeOut { | |
| from { | |
| opacity: 1; | |
| } | |
| to { | |
| opacity: 0; | |
| } | |
| } | |
| @-webkit-keyframes fadeOut { | |
| from { | |
| opacity: 1; | |
| } | |
| to { | |
| opacity: 0; | |
| } | |
| } | |
| @-moz-keyframes fadeIn { | |
| from { | |
| opacity: 0; | |
| } | |
| to { | |
| opacity: 1; | |
| } | |
| } | |
| @-webkit-keyframes fadeIn { | |
| from { | |
| opacity: 0; | |
| } | |
| to { | |
| opacity: 1; | |
| } | |
| } | |
| /*properties of tooltip after "expand"*/ | |
| .bigtooltip { | |
| overflow: auto; | |
| height: 200px; | |
| -webkit-transition-property: height; | |
| -webkit-transition-duration: 500ms; | |
| -moz-transition-property: height; | |
| -moz-transition-duration: 500ms; | |
| transition-property: height; | |
| transition-duration: 500ms; | |
| } | |
| /*properties of tooltip before "expand"*/ | |
| .smalltooltip { | |
| -webkit-transition-property: height; | |
| -webkit-transition-duration: 500ms; | |
| -moz-transition-property: height; | |
| -moz-transition-duration: 500ms; | |
| transition-property: height; | |
| transition-duration: 500ms; | |
| text-overflow: ellipsis; | |
| overflow: hidden; | |
| height: 80px; | |
| } | |
| .tooltipbuttons { | |
| position: absolute; | |
| padding-right: 15px; | |
| top: 0px; | |
| right: 0px; | |
| } | |
| .tooltiptext { | |
| /*avoid the button to overlap on some docstring*/ | |
| padding-right: 30px; | |
| } | |
| .ipython_tooltip { | |
| max-width: 700px; | |
| /*fade-in animation when inserted*/ | |
| -webkit-animation: fadeOut 400ms; | |
| -moz-animation: fadeOut 400ms; | |
| animation: fadeOut 400ms; | |
| -webkit-animation: fadeIn 400ms; | |
| -moz-animation: fadeIn 400ms; | |
| animation: fadeIn 400ms; | |
| vertical-align: middle; | |
| background-color: #f7f7f7; | |
| overflow: visible; | |
| border: #ababab 1px solid; | |
| outline: none; | |
| padding: 3px; | |
| margin: 0px; | |
| padding-left: 7px; | |
| font-family: monospace; | |
| min-height: 50px; | |
| -moz-box-shadow: 0px 6px 10px -1px #adadad; | |
| -webkit-box-shadow: 0px 6px 10px -1px #adadad; | |
| box-shadow: 0px 6px 10px -1px #adadad; | |
| border-radius: 2px; | |
| position: absolute; | |
| z-index: 1000; | |
| } | |
| .ipython_tooltip a { | |
| float: right; | |
| } | |
| .ipython_tooltip .tooltiptext pre { | |
| border: 0; | |
| border-radius: 0; | |
| font-size: 100%; | |
| background-color: #f7f7f7; | |
| } | |
| .pretooltiparrow { | |
| left: 0px; | |
| margin: 0px; | |
| top: -16px; | |
| width: 40px; | |
| height: 16px; | |
| overflow: hidden; | |
| position: absolute; | |
| } | |
| .pretooltiparrow:before { | |
| background-color: #f7f7f7; | |
| border: 1px #ababab solid; | |
| z-index: 11; | |
| content: ""; | |
| position: absolute; | |
| left: 15px; | |
| top: 10px; | |
| width: 25px; | |
| height: 25px; | |
| -webkit-transform: rotate(45deg); | |
| -moz-transform: rotate(45deg); | |
| -ms-transform: rotate(45deg); | |
| -o-transform: rotate(45deg); | |
| } | |
| ul.typeahead-list i { | |
| margin-left: -10px; | |
| width: 18px; | |
| } | |
| [dir="rtl"] ul.typeahead-list i { | |
| margin-left: 0; | |
| margin-right: -10px; | |
| } | |
| ul.typeahead-list { | |
| max-height: 80vh; | |
| overflow: auto; | |
| } | |
| ul.typeahead-list > li > a { | |
| /** Firefox bug **/ | |
| /* see https://github.com/jupyter/notebook/issues/559 */ | |
| white-space: normal; | |
| } | |
| ul.typeahead-list > li > a.pull-right { | |
| float: left !important; | |
| float: left; | |
| } | |
| [dir="rtl"] .typeahead-list { | |
| text-align: right; | |
| } | |
| .cmd-palette .modal-body { | |
| padding: 7px; | |
| } | |
| .cmd-palette form { | |
| background: white; | |
| } | |
| .cmd-palette input { | |
| outline: none; | |
| } | |
| .no-shortcut { | |
| min-width: 20px; | |
| color: transparent; | |
| } | |
| [dir="rtl"] .no-shortcut.pull-right { | |
| float: left !important; | |
| float: left; | |
| } | |
| [dir="rtl"] .command-shortcut.pull-right { | |
| float: left !important; | |
| float: left; | |
| } | |
| .command-shortcut:before { | |
| content: "(command mode)"; | |
| padding-right: 3px; | |
| color: #777777; | |
| } | |
| .edit-shortcut:before { | |
| content: "(edit)"; | |
| padding-right: 3px; | |
| color: #777777; | |
| } | |
| [dir="rtl"] .edit-shortcut.pull-right { | |
| float: left !important; | |
| float: left; | |
| } | |
| #find-and-replace #replace-preview .match, | |
| #find-and-replace #replace-preview .insert { | |
| background-color: #BBDEFB; | |
| border-color: #90CAF9; | |
| border-style: solid; | |
| border-width: 1px; | |
| border-radius: 0px; | |
| } | |
| [dir="ltr"] #find-and-replace .input-group-btn + .form-control { | |
| border-left: none; | |
| } | |
| [dir="rtl"] #find-and-replace .input-group-btn + .form-control { | |
| border-right: none; | |
| } | |
| #find-and-replace #replace-preview .replace .match { | |
| background-color: #FFCDD2; | |
| border-color: #EF9A9A; | |
| border-radius: 0px; | |
| } | |
| #find-and-replace #replace-preview .replace .insert { | |
| background-color: #C8E6C9; | |
| border-color: #A5D6A7; | |
| border-radius: 0px; | |
| } | |
| #find-and-replace #replace-preview { | |
| max-height: 60vh; | |
| overflow: auto; | |
| } | |
| #find-and-replace #replace-preview pre { | |
| padding: 5px 10px; | |
| } | |
| .terminal-app { | |
| background: #EEE; | |
| } | |
| .terminal-app #header { | |
| background: #fff; | |
| -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); | |
| box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); | |
| } | |
| .terminal-app .terminal { | |
| width: 100%; | |
| float: left; | |
| font-family: monospace; | |
| color: white; | |
| background: black; | |
| padding: 0.4em; | |
| border-radius: 2px; | |
| -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); | |
| box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); | |
| } | |
| .terminal-app .terminal, | |
| .terminal-app .terminal dummy-screen { | |
| line-height: 1em; | |
| font-size: 14px; | |
| } | |
| .terminal-app .terminal .xterm-rows { | |
| padding: 10px; | |
| } | |
| .terminal-app .terminal-cursor { | |
| color: black; | |
| background: white; | |
| } | |
| .terminal-app #terminado-container { | |
| margin-top: 20px; | |
| } | |
| /*# sourceMappingURL=style.min.css.map */ | |
| </style> | |
| <style type="text/css"> | |
| .highlight .hll { background-color: #ffffcc } | |
| .highlight { background: #f8f8f8; } | |
| .highlight .c { color: #408080; font-style: italic } /* Comment */ | |
| .highlight .err { border: 1px solid #FF0000 } /* Error */ | |
| .highlight .k { color: #008000; font-weight: bold } /* Keyword */ | |
| .highlight .o { color: #666666 } /* Operator */ | |
| .highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */ | |
| .highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ | |
| .highlight .cp { color: #BC7A00 } /* Comment.Preproc */ | |
| .highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */ | |
| .highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ | |
| .highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ | |
| .highlight .gd { color: #A00000 } /* Generic.Deleted */ | |
| .highlight .ge { font-style: italic } /* Generic.Emph */ | |
| .highlight .gr { color: #FF0000 } /* Generic.Error */ | |
| .highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ | |
| .highlight .gi { color: #00A000 } /* Generic.Inserted */ | |
| .highlight .go { color: #888888 } /* Generic.Output */ | |
| .highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ | |
| .highlight .gs { font-weight: bold } /* Generic.Strong */ | |
| .highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ | |
| .highlight .gt { color: #0044DD } /* Generic.Traceback */ | |
| .highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ | |
| .highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ | |
| .highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ | |
| .highlight .kp { color: #008000 } /* Keyword.Pseudo */ | |
| .highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ | |
| .highlight .kt { color: #B00040 } /* Keyword.Type */ | |
| .highlight .m { color: #666666 } /* Literal.Number */ | |
| .highlight .s { color: #BA2121 } /* Literal.String */ | |
| .highlight .na { color: #7D9029 } /* Name.Attribute */ | |
| .highlight .nb { color: #008000 } /* Name.Builtin */ | |
| .highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ | |
| .highlight .no { color: #880000 } /* Name.Constant */ | |
| .highlight .nd { color: #AA22FF } /* Name.Decorator */ | |
| .highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ | |
| .highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ | |
| .highlight .nf { color: #0000FF } /* Name.Function */ | |
| .highlight .nl { color: #A0A000 } /* Name.Label */ | |
| .highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ | |
| .highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ | |
| .highlight .nv { color: #19177C } /* Name.Variable */ | |
| .highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ | |
| .highlight .w { color: #bbbbbb } /* Text.Whitespace */ | |
| .highlight .mb { color: #666666 } /* Literal.Number.Bin */ | |
| .highlight .mf { color: #666666 } /* Literal.Number.Float */ | |
| .highlight .mh { color: #666666 } /* Literal.Number.Hex */ | |
| .highlight .mi { color: #666666 } /* Literal.Number.Integer */ | |
| .highlight .mo { color: #666666 } /* Literal.Number.Oct */ | |
| .highlight .sa { color: #BA2121 } /* Literal.String.Affix */ | |
| .highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ | |
| .highlight .sc { color: #BA2121 } /* Literal.String.Char */ | |
| .highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */ | |
| .highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ | |
| .highlight .s2 { color: #BA2121 } /* Literal.String.Double */ | |
| .highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ | |
| .highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ | |
| .highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ | |
| .highlight .sx { color: #008000 } /* Literal.String.Other */ | |
| .highlight .sr { color: #BB6688 } /* Literal.String.Regex */ | |
| .highlight .s1 { color: #BA2121 } /* Literal.String.Single */ | |
| .highlight .ss { color: #19177C } /* Literal.String.Symbol */ | |
| .highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ | |
| .highlight .fm { color: #0000FF } /* Name.Function.Magic */ | |
| .highlight .vc { color: #19177C } /* Name.Variable.Class */ | |
| .highlight .vg { color: #19177C } /* Name.Variable.Global */ | |
| .highlight .vi { color: #19177C } /* Name.Variable.Instance */ | |
| .highlight .vm { color: #19177C } /* Name.Variable.Magic */ | |
| .highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ | |
| </style> | |
| <style type="text/css"> | |
| /* Temporary definitions which will become obsolete with Notebook release 5.0 */ | |
| .ansi-black-fg { color: #3E424D; } | |
| .ansi-black-bg { background-color: #3E424D; } | |
| .ansi-black-intense-fg { color: #282C36; } | |
| .ansi-black-intense-bg { background-color: #282C36; } | |
| .ansi-red-fg { color: #E75C58; } | |
| .ansi-red-bg { background-color: #E75C58; } | |
| .ansi-red-intense-fg { color: #B22B31; } | |
| .ansi-red-intense-bg { background-color: #B22B31; } | |
| .ansi-green-fg { color: #00A250; } | |
| .ansi-green-bg { background-color: #00A250; } | |
| .ansi-green-intense-fg { color: #007427; } | |
| .ansi-green-intense-bg { background-color: #007427; } | |
| .ansi-yellow-fg { color: #DDB62B; } | |
| .ansi-yellow-bg { background-color: #DDB62B; } | |
| .ansi-yellow-intense-fg { color: #B27D12; } | |
| .ansi-yellow-intense-bg { background-color: #B27D12; } | |
| .ansi-blue-fg { color: #208FFB; } | |
| .ansi-blue-bg { background-color: #208FFB; } | |
| .ansi-blue-intense-fg { color: #0065CA; } | |
| .ansi-blue-intense-bg { background-color: #0065CA; } | |
| .ansi-magenta-fg { color: #D160C4; } | |
| .ansi-magenta-bg { background-color: #D160C4; } | |
| .ansi-magenta-intense-fg { color: #A03196; } | |
| .ansi-magenta-intense-bg { background-color: #A03196; } | |
| .ansi-cyan-fg { color: #60C6C8; } | |
| .ansi-cyan-bg { background-color: #60C6C8; } | |
| .ansi-cyan-intense-fg { color: #258F8F; } | |
| .ansi-cyan-intense-bg { background-color: #258F8F; } | |
| .ansi-white-fg { color: #C5C1B4; } | |
| .ansi-white-bg { background-color: #C5C1B4; } | |
| .ansi-white-intense-fg { color: #A1A6B2; } | |
| .ansi-white-intense-bg { background-color: #A1A6B2; } | |
| .ansi-bold { font-weight: bold; } | |
| </style> | |
| <style type="text/css"> | |
| /* Overrides of notebook CSS for static HTML export */ | |
| body { | |
| overflow: visible; | |
| padding: 8px; | |
| } | |
| div#notebook { | |
| overflow: visible; | |
| border-top: none; | |
| }@media print { | |
| div.cell { | |
| display: block; | |
| page-break-inside: avoid; | |
| } | |
| div.output_wrapper { | |
| display: block; | |
| page-break-inside: avoid; | |
| } | |
| div.output { | |
| display: block; | |
| page-break-inside: avoid; | |
| } | |
| } | |
| </style> | |
| <!-- Custom stylesheet, it must be in the same directory as the html file --> | |
| <link rel="stylesheet" href="custom.css"> | |
| <!-- Loading mathjax macro --> | |
| <!-- Load mathjax --> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML"></script> | |
| <!-- MathJax configuration --> | |
| <script type="text/x-mathjax-config"> | |
| MathJax.Hub.Config({ | |
| tex2jax: { | |
| inlineMath: [ ['$','$'], ["\\(","\\)"] ], | |
| displayMath: [ ['$$','$$'], ["\\[","\\]"] ], | |
| processEscapes: true, | |
| processEnvironments: true | |
| }, | |
| // Center justify equations in code and markdown cells. Elsewhere | |
| // we use CSS to left justify single line equations in code cells. | |
| displayAlign: 'center', | |
| "HTML-CSS": { | |
| styles: {'.MathJax_Display': {"margin": 0}}, | |
| linebreaks: { automatic: true } | |
| } | |
| }); | |
| </script> | |
| <!-- End of mathjax configuration --></head> | |
| <body> | |
| <div tabindex="-1" id="notebook" class="border-box-sizing"> | |
| <div class="container" id="notebook-container"> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <p>Rafael Gonçalves (RA: 186062)</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h2 id="Importa-bibliotecas">Importa bibliotecas<a class="anchor-link" href="#Importa-bibliotecas">¶</a></h2> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [1]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">os</span> | |
| <span class="kn">import</span> <span class="nn">urllib.request</span> | |
| <span class="kn">import</span> <span class="nn">random</span> | |
| <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span> | |
| <span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span> | |
| <span class="kn">import</span> <span class="nn">csv</span> | |
| <span class="o">%</span><span class="k">matplotlib</span> inline | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [2]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">random</span><span class="o">.</span><span class="n">seed</span> <span class="o">=</span> <span class="mi">0</span> | |
| <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">seed</span> <span class="o">=</span> <span class="mi">0</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h1 id="1---Classificação-Binária">1 - Classificação Binária<a class="anchor-link" href="#1---Classificação-Binária">¶</a></h1> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h2 id="Download-dataset">Download dataset<a class="anchor-link" href="#Download-dataset">¶</a></h2> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [3]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">data_url</span> <span class="o">=</span> <span class="s1">'http://www.dca.fee.unicamp.br/~lboccato/two_moons.csv'</span> | |
| <span class="n">data_dir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">relpath</span><span class="p">(</span><span class="s1">'../data'</span><span class="p">))</span> | |
| <span class="n">data_path</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">data_dir</span><span class="p">,</span> <span class="s1">'two_moons.csv'</span><span class="p">)</span> | |
| <span class="n">image_dir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">relpath</span><span class="p">(</span><span class="s1">'../doc/images'</span><span class="p">))</span> | |
| <span class="n">urllib</span><span class="o">.</span><span class="n">request</span><span class="o">.</span><span class="n">urlretrieve</span><span class="p">(</span><span class="n">data_url</span><span class="p">,</span> <span class="n">data_path</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt output_prompt">Out[3]:</div> | |
| <div class="output_text output_subarea output_execute_result"> | |
| <pre>('/home/rafael/inbox/machine-learning/2-linear-classification-and-knn/data/two_moons.csv', | |
| <http.client.HTTPMessage at 0x7fa0f6f8c2e8>)</pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [4]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span>%%bash | |
| head <span class="s2">"../data/two_moons.csv"</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_subarea output_stream output_stdout output_text"> | |
| <pre>,x_1,x_2,y | |
| 0,2.0644296514467197,0.546069086070731,1.0 | |
| 1,1.762473261484448,-0.06268920285178106,1.0 | |
| 2,-0.24548972654900278,1.068868024796405,0.0 | |
| 3,-0.17463045222800389,0.18388168037297553,1.0 | |
| 4,0.4521100769674068,-0.40651213749666293,1.0 | |
| 5,1.9396117132053508,0.43090598314745787,1.0 | |
| 6,0.898613370647941,0.8226576504874641,0.0 | |
| 7,0.052218958530233006,1.3636857785600163,0.0 | |
| 8,-0.6284662881051902,1.1413048711192604,0.0 | |
| </pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h2 id="Importa-dataset">Importa dataset<a class="anchor-link" href="#Importa-dataset">¶</a></h2> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [5]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">dataset</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">loadtxt</span><span class="p">(</span><span class="n">data_path</span><span class="p">,</span> <span class="n">skiprows</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">usecols</span><span class="o">=</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">),</span> <span class="n">delimiter</span><span class="o">=</span><span class="s1">','</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [6]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">dataset</span><span class="o">.</span><span class="n">shape</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt output_prompt">Out[6]:</div> | |
| <div class="output_text output_subarea output_execute_result"> | |
| <pre>(1000, 3)</pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [7]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">X</span> <span class="o">=</span> <span class="n">dataset</span><span class="p">[:,</span><span class="mi">0</span><span class="p">:</span><span class="mi">2</span><span class="p">]</span> | |
| <span class="n">y</span> <span class="o">=</span> <span class="n">dataset</span><span class="p">[:,</span><span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="nb">int</span><span class="p">)</span> | |
| <span class="n">y</span> <span class="o">=</span> <span class="n">y</span><span class="o">.</span><span class="n">reshape</span><span class="p">((</span><span class="n">y</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="mi">1</span><span class="p">))</span> | |
| <span class="n">X</span><span class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="n">y</span><span class="o">.</span><span class="n">shape</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt output_prompt">Out[7]:</div> | |
| <div class="output_text output_subarea output_execute_result"> | |
| <pre>((1000, 2), (1000, 1))</pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [8]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">Phi</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">column_stack</span><span class="p">((</span><span class="n">np</span><span class="o">.</span><span class="n">ones</span><span class="p">(</span><span class="n">X</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span> <span class="n">X</span><span class="p">))</span> | |
| <span class="n">Phi</span><span class="o">.</span><span class="n">shape</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt output_prompt">Out[8]:</div> | |
| <div class="output_text output_subarea output_execute_result"> | |
| <pre>(1000, 3)</pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [9]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">mask1</span> <span class="o">=</span> <span class="p">[</span><span class="n">i</span> <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">e</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">y</span><span class="p">)</span> <span class="k">if</span> <span class="n">e</span><span class="p">]</span> | |
| <span class="n">mask0</span> <span class="o">=</span> <span class="p">[</span><span class="n">i</span> <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">e</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">y</span><span class="p">)</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">e</span><span class="p">]</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [10]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">X</span><span class="p">[</span><span class="n">mask1</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</span> <span class="n">X</span><span class="p">[</span><span class="n">mask1</span><span class="p">,</span><span class="mi">1</span><span class="p">],</span> <span class="s1">'X'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">X</span><span class="p">[</span><span class="n">mask0</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</span> <span class="n">X</span><span class="p">[</span><span class="n">mask0</span><span class="p">,</span> <span class="mi">1</span><span class="p">],</span> <span class="s1">'o'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">'x0'</span><span class="p">),</span> <span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">'x1'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s2">"Distribuição dos dados"</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">([</span><span class="s1">'y=1'</span><span class="p">,</span> <span class="s1">'y=0'</span><span class="p">])</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">savefig</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">image_dir</span><span class="p">,</span> <span class="s1">'data.png'</span><span class="p">),</span> <span class="n">bbox_inches</span><span class="o">=</span><span class="s1">'tight'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_png output_subarea "> | |
| <img src="data:image/png;base64,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 | |
| " | |
| > | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <p>A distribuição de dados acima não pode ser completamente separada por modelos lineares (não há hiperplano que separe completamente os dados das duas classes). Entretanto não há grande mistura entre os elementos de cada classe, o que indica que provavelmente existem modelos capazes de separar os dados com uma taxa de erro nula, ou muito pequena.</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h2 id="Discriminante-linear-de-Fischer-(LDA)">Discriminante linear de Fischer (LDA)<a class="anchor-link" href="#Discriminante-linear-de-Fischer-(LDA)">¶</a></h2> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [11]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">y_hat</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">w</span><span class="p">,</span> <span class="n">X</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">w</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [12]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">Sw</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">((</span><span class="mi">2</span><span class="p">,</span><span class="mi">2</span><span class="p">))</span> | |
| <span class="n">mu1</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="n">X</span><span class="p">[</span><span class="n">mask1</span><span class="p">],</span> <span class="mi">0</span><span class="p">)</span> | |
| <span class="n">mu0</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="n">X</span><span class="p">[</span><span class="n">mask0</span><span class="p">],</span> <span class="mi">0</span><span class="p">)</span> | |
| <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">mask0</span><span class="p">:</span> | |
| <span class="n">Sw</span> <span class="o">+=</span> <span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">((</span><span class="n">X</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">reshape</span><span class="p">((</span><span class="mi">2</span><span class="p">,</span><span class="mi">1</span><span class="p">))</span> <span class="o">-</span> <span class="n">mu0</span><span class="o">.</span><span class="n">reshape</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">))),((</span><span class="n">X</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">reshape</span><span class="p">((</span><span class="mi">2</span><span class="p">,</span><span class="mi">1</span><span class="p">))</span> <span class="o">-</span> <span class="n">mu0</span><span class="o">.</span><span class="n">reshape</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">))))</span><span class="o">.</span><span class="n">T</span><span class="p">)</span> | |
| <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">mask1</span><span class="p">:</span> | |
| <span class="n">Sw</span> <span class="o">+=</span> <span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">((</span><span class="n">X</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">reshape</span><span class="p">((</span><span class="mi">2</span><span class="p">,</span><span class="mi">1</span><span class="p">))</span> <span class="o">-</span> <span class="n">mu1</span><span class="o">.</span><span class="n">reshape</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">))),((</span><span class="n">X</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">reshape</span><span class="p">((</span><span class="mi">2</span><span class="p">,</span><span class="mi">1</span><span class="p">))</span> <span class="o">-</span> <span class="n">mu1</span><span class="o">.</span><span class="n">reshape</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">))))</span><span class="o">.</span><span class="n">T</span><span class="p">)</span> | |
| <span class="n">Sw</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt output_prompt">Out[12]:</div> | |
| <div class="output_text output_subarea output_execute_result"> | |
| <pre>array([[ 2.23939149e+03, -5.36498142e-02], | |
| [-5.36498142e-02, 1.43394973e+03]])</pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [13]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">Sb</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">((</span><span class="n">mu1</span> <span class="o">-</span> <span class="n">mu0</span><span class="p">),(</span><span class="n">mu1</span> <span class="o">-</span> <span class="n">mu0</span><span class="p">)</span><span class="o">.</span><span class="n">T</span><span class="p">)</span> | |
| <span class="n">Sb</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt output_prompt">Out[13]:</div> | |
| <div class="output_text output_subarea output_execute_result"> | |
| <pre>2.4003468221575144</pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [14]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">J</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">w</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">w</span><span class="o">.</span><span class="n">T</span><span class="p">,</span> <span class="n">Sb</span><span class="p">),</span> <span class="n">w</span><span class="p">)</span><span class="o">/</span><span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">w</span><span class="o">.</span><span class="n">T</span><span class="p">,</span> <span class="n">Sw</span><span class="p">),</span> <span class="n">w</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [15]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">w</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">inv</span><span class="p">(</span><span class="n">Sw</span><span class="p">),(</span><span class="n">mu1</span> <span class="o">-</span> <span class="n">mu0</span><span class="p">))</span> | |
| <span class="n">w</span> <span class="o">=</span> <span class="n">w</span><span class="o">/</span><span class="n">np</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">norm</span><span class="p">(</span><span class="n">w</span><span class="p">)</span> | |
| <span class="n">w</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt output_prompt">Out[15]:</div> | |
| <div class="output_text output_subarea output_execute_result"> | |
| <pre>array([ 0.48042956, -0.87703332])</pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [16]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">X</span><span class="p">[</span><span class="n">mask1</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</span> <span class="n">X</span><span class="p">[</span><span class="n">mask1</span><span class="p">,</span><span class="mi">1</span><span class="p">],</span> <span class="s1">'X'</span><span class="p">,</span> <span class="n">zorder</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">X</span><span class="p">[</span><span class="n">mask0</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</span> <span class="n">X</span><span class="p">[</span><span class="n">mask0</span><span class="p">,</span> <span class="mi">1</span><span class="p">],</span> <span class="s1">'o'</span><span class="p">,</span> <span class="n">zorder</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span> | |
| <span class="n">origin</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="c1"># origin point</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">'x0'</span><span class="p">),</span> <span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">'x1'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s2">"Direção de projeção"</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">quiver</span><span class="p">(</span><span class="o">*</span><span class="n">origin</span><span class="p">,</span> <span class="n">w</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">w</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">width</span><span class="o">=</span><span class="mf">0.006</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">'black'</span><span class="p">,</span> <span class="n">zorder</span><span class="o">=</span><span class="mi">3</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">([</span><span class="s1">'y=1'</span><span class="p">,</span> <span class="s1">'y=0'</span><span class="p">,</span> <span class="s1">'w'</span><span class="p">])</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">savefig</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">image_dir</span><span class="p">,</span> <span class="s1">'proj.png'</span><span class="p">),</span> <span class="n">bbox_inches</span><span class="o">=</span><span class="s1">'tight'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_png output_subarea "> | |
| <img src="data:image/png;base64,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 | |
| " | |
| > | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h3 id="Projeção-em-w">Projeção em w<a class="anchor-link" href="#Projeção-em-w">¶</a></h3> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [17]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">mu</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="n">np</span><span class="o">.</span><span class="n">average</span><span class="p">(</span><span class="n">X</span><span class="p">[:,</span><span class="mi">0</span><span class="p">]),</span> <span class="n">np</span><span class="o">.</span><span class="n">average</span><span class="p">(</span><span class="n">X</span><span class="p">[:,</span><span class="mi">1</span><span class="p">])])</span> | |
| <span class="n">delta</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([(</span><span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">X</span><span class="p">[:,</span><span class="mi">0</span><span class="p">])</span> <span class="o">-</span> <span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">X</span><span class="p">[:,</span><span class="mi">0</span><span class="p">])),</span> <span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">X</span><span class="p">[:,</span><span class="mi">1</span><span class="p">])</span> <span class="o">-</span> <span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">X</span><span class="p">[:,</span><span class="mi">1</span><span class="p">]))])</span> | |
| <span class="n">X</span> <span class="o">=</span> <span class="p">(</span><span class="n">X</span> <span class="o">-</span> <span class="n">np</span><span class="o">.</span><span class="n">ones</span><span class="p">([</span><span class="n">X</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="mi">1</span><span class="p">])</span><span class="o">*</span><span class="n">mu</span><span class="p">)</span><span class="o">*</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">ones</span><span class="p">([</span><span class="n">X</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="mi">1</span><span class="p">])</span><span class="o">*</span><span class="p">(</span><span class="mi">1</span><span class="o">/</span><span class="n">delta</span><span class="p">))</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [18]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">lda</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">X</span><span class="p">,</span> <span class="n">w</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">w</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [19]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">out</span> <span class="o">=</span> <span class="n">lda</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">w</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">stem</span><span class="p">(</span><span class="n">out</span><span class="p">[</span><span class="n">mask1</span><span class="p">],</span> <span class="n">basefmt</span><span class="o">=</span><span class="s1">'.'</span><span class="p">,</span> <span class="n">linefmt</span><span class="o">=</span><span class="s1">'C0.'</span><span class="p">,</span> <span class="n">markerfmt</span><span class="o">=</span><span class="s1">'C0X'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">stem</span><span class="p">(</span><span class="n">out</span><span class="p">[</span><span class="n">mask0</span><span class="p">],</span> <span class="n">basefmt</span><span class="o">=</span><span class="s1">'.'</span><span class="p">,</span> <span class="n">linefmt</span><span class="o">=</span><span class="s1">'C1.'</span><span class="p">,</span> <span class="n">markerfmt</span><span class="o">=</span><span class="s1">'C1o'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">savefig</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">image_dir</span><span class="p">,</span> <span class="s1">'stem_proj.png'</span><span class="p">),</span> <span class="n">bbox_inches</span><span class="o">=</span><span class="s1">'tight'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_png output_subarea "> | |
| <img src="data:image/png;base64,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 | |
| " | |
| > | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [20]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">plt</span><span class="o">.</span><span class="n">hist</span><span class="p">([</span><span class="n">out</span><span class="p">[</span><span class="n">mask1</span><span class="p">],</span> <span class="n">out</span><span class="p">[</span><span class="n">mask0</span><span class="p">]],</span> <span class="n">bins</span><span class="o">=</span><span class="mi">30</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="p">[</span><span class="s1">'C0'</span><span class="p">,</span> <span class="s1">'C1'</span><span class="p">])</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">savefig</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">image_dir</span><span class="p">,</span> <span class="s1">'hist.png'</span><span class="p">),</span> <span class="n">bbox_inches</span><span class="o">=</span><span class="s1">'tight'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_png output_subarea "> | |
| <img src="data:image/png;base64,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 | |
| " | |
| > | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <p>Como previsto, os dados não podem ser totalmente separados. Na direção projetada, há uma mistura dos dados entre os valores -0.2, 0.2, mas a maior parte dos dados se encontra fora desta região de intersecção.</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h3 id="Curva-ROC">Curva ROC<a class="anchor-link" href="#Curva-ROC">¶</a></h3> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [21]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">decision</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">thres</span><span class="p">,</span> <span class="n">model</span><span class="p">):</span> | |
| <span class="n">out</span> <span class="o">=</span> <span class="n">model</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">w</span><span class="p">)</span> | |
| <span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="mi">1</span> <span class="k">if</span> <span class="n">e</span> <span class="o">></span> <span class="n">thres</span> <span class="k">else</span> <span class="mi">0</span> <span class="k">for</span> <span class="n">e</span> <span class="ow">in</span> <span class="n">out</span><span class="p">])</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [22]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">confusion</span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n">y</span><span class="p">):</span> | |
| <span class="n">tp</span> <span class="o">=</span> <span class="n">fp</span> <span class="o">=</span> <span class="n">tn</span> <span class="o">=</span> <span class="n">fn</span> <span class="o">=</span> <span class="mi">0</span> | |
| <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">e</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">out</span><span class="p">):</span> | |
| <span class="k">if</span> <span class="n">e</span><span class="p">:</span> | |
| <span class="k">if</span> <span class="n">y</span><span class="p">[</span><span class="n">i</span><span class="p">]:</span> | |
| <span class="n">tp</span> <span class="o">+=</span> <span class="mi">1</span> | |
| <span class="k">else</span><span class="p">:</span> | |
| <span class="n">fp</span> <span class="o">+=</span> <span class="mi">1</span> | |
| <span class="k">else</span><span class="p">:</span> | |
| <span class="k">if</span> <span class="n">y</span><span class="p">[</span><span class="n">i</span><span class="p">]:</span> | |
| <span class="n">fn</span> <span class="o">+=</span> <span class="mi">1</span> | |
| <span class="k">else</span><span class="p">:</span> | |
| <span class="n">tn</span> <span class="o">+=</span> <span class="mi">1</span> | |
| <span class="k">return</span> <span class="n">tp</span><span class="p">,</span> <span class="n">fp</span><span class="p">,</span> <span class="n">fn</span><span class="p">,</span> <span class="n">tn</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [23]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">roc_curve</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">thres_v</span><span class="p">,</span> <span class="n">model</span><span class="p">):</span> | |
| <span class="n">roc</span> <span class="o">=</span> <span class="p">[]</span> | |
| <span class="n">f1_v</span> <span class="o">=</span> <span class="p">[]</span> | |
| <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">thres_v</span><span class="p">:</span> | |
| <span class="n">out</span> <span class="o">=</span> <span class="n">decision</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">t</span><span class="p">,</span> <span class="n">model</span><span class="p">)</span> | |
| <span class="n">tp</span><span class="p">,</span> <span class="n">fp</span><span class="p">,</span> <span class="n">fn</span><span class="p">,</span> <span class="n">tn</span> <span class="o">=</span> <span class="n">confusion</span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n">y</span><span class="p">)</span> | |
| <span class="n">tpr</span> <span class="o">=</span> <span class="n">tp</span><span class="o">/</span><span class="p">(</span><span class="n">tp</span><span class="o">+</span><span class="n">fn</span><span class="p">)</span> | |
| <span class="n">fpr</span> <span class="o">=</span> <span class="n">fp</span><span class="o">/</span><span class="p">(</span><span class="n">fp</span><span class="o">+</span><span class="n">tn</span><span class="p">)</span> | |
| <span class="n">f1</span> <span class="o">=</span> <span class="mi">2</span><span class="o">*</span><span class="n">tp</span><span class="o">/</span><span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="n">tp</span> <span class="o">+</span> <span class="n">fn</span> <span class="o">+</span> <span class="n">fp</span><span class="p">)</span> | |
| <span class="n">f1_v</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">t</span><span class="p">,</span> <span class="n">f1</span><span class="p">])</span> | |
| <span class="n">roc</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">fpr</span><span class="p">,</span> <span class="n">tpr</span><span class="p">])</span> | |
| <span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">roc</span><span class="p">),</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">f1_v</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [24]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">thres_v</span> <span class="o">=</span> <span class="p">[</span><span class="mf">0.01</span><span class="o">*</span><span class="n">e</span> <span class="k">for</span> <span class="n">e</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="o">-</span><span class="mi">200</span><span class="p">,</span> <span class="mi">201</span><span class="p">)]</span> | |
| <span class="n">roc</span><span class="p">,</span> <span class="n">f1</span> <span class="o">=</span> <span class="n">roc_curve</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">thres_v</span><span class="p">,</span> <span class="n">lda</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">roc</span><span class="p">[:,</span><span class="mi">0</span><span class="p">],</span> <span class="n">roc</span><span class="p">[:,</span><span class="mi">1</span><span class="p">],</span> <span class="s1">'C0-'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">],</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">],</span><span class="s1">'r--'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">xlim</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">])</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">ylim</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">])</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s2">"ROC curve"</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">([</span><span class="s2">"ROC"</span><span class="p">,</span> <span class="s2">"tpr=fpr"</span><span class="p">])</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">'True Positive Rate'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">'False Positive Rate'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">savefig</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">image_dir</span><span class="p">,</span> <span class="s1">'roc.png'</span><span class="p">),</span> <span class="n">bbox_inches</span><span class="o">=</span><span class="s1">'tight'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_png output_subarea "> | |
| <img src="data:image/png;base64,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 | |
| " | |
| > | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h3 id="F1-score">F1 score<a class="anchor-link" href="#F1-score">¶</a></h3> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [25]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">f1</span><span class="p">[:,</span><span class="mi">0</span><span class="p">],</span> <span class="n">f1</span><span class="p">[:,</span><span class="mi">1</span><span class="p">],</span> <span class="s1">'C0-'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s2">"F1 score x threshold value"</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">'F1 Score'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">'Threshold'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">savefig</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">image_dir</span><span class="p">,</span> <span class="s1">'f1.png'</span><span class="p">),</span> <span class="n">bbox_inches</span><span class="o">=</span><span class="s1">'tight'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> | |
| <span class="nb">print</span><span class="p">(</span><span class="s2">"Threshold with highest f1-score: </span><span class="si">{}</span><span class="s2">, (</span><span class="si">{:.4f}</span><span class="s2">)"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">f1</span><span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">argmax</span><span class="p">(</span><span class="n">f1</span><span class="p">[:,</span><span class="mi">1</span><span class="p">]),</span> <span class="mi">0</span><span class="p">],</span> <span class="n">f1</span><span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">argmax</span><span class="p">(</span><span class="n">f1</span><span class="p">[:,</span><span class="mi">1</span><span class="p">]),</span> <span class="mi">1</span><span class="p">]))</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_png output_subarea "> | |
| <img src="data:image/png;base64,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 | |
| " | |
| > | |
| </div> | |
| </div> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_subarea output_stream output_stdout output_text"> | |
| <pre>Threshold with highest f1-score: -0.07, (0.9289) | |
| </pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <p>Podemos perceber que para valores do threshold bastante próximos de zero o modelo tem a melhor f1-medida, com o valor ótimo sendo threshold de -0.07 (f1-medida de 0.9289).</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h2 id="Regressão-Logística">Regressão Logística<a class="anchor-link" href="#Regressão-Logística">¶</a></h2> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [26]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">g</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">z</span><span class="p">:</span> <span class="mi">1</span><span class="o">/</span><span class="p">(</span><span class="mi">1</span> <span class="o">+</span> <span class="n">np</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="o">-</span><span class="n">z</span><span class="p">))</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [27]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">lr</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">Phi</span><span class="p">,</span> <span class="n">w</span><span class="p">:</span> <span class="n">g</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">Phi</span><span class="p">,</span> <span class="n">w</span><span class="p">))</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [28]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">mmq</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">Phi</span><span class="p">,</span> <span class="n">y</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">inv</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">Phi</span><span class="o">.</span><span class="n">T</span><span class="p">,</span> <span class="n">Phi</span><span class="p">)),</span> <span class="n">Phi</span><span class="o">.</span><span class="n">T</span><span class="p">),</span> <span class="n">y</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [29]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">w</span> <span class="o">=</span> <span class="n">mmq</span><span class="p">(</span><span class="n">Phi</span><span class="p">,</span> <span class="n">y</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [30]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">J</span><span class="p">(</span><span class="n">y_hat</span><span class="p">,</span> <span class="n">y</span><span class="p">):</span> | |
| <span class="n">J</span> <span class="o">=</span> <span class="mi">0</span> | |
| <span class="k">for</span> <span class="n">e</span><span class="p">,</span> <span class="n">f</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">y</span><span class="p">,</span> <span class="n">y_hat</span><span class="p">):</span> | |
| <span class="n">J</span> <span class="o">+=</span> <span class="n">e</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">log10</span><span class="p">(</span><span class="n">f</span><span class="p">)</span> <span class="o">+</span> <span class="p">(</span><span class="mi">1</span><span class="o">-</span><span class="n">e</span><span class="p">)</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">log10</span><span class="p">(</span><span class="mi">1</span><span class="o">-</span><span class="n">f</span><span class="p">)</span> | |
| <span class="k">return</span> <span class="p">(</span><span class="o">-</span><span class="n">J</span><span class="o">/</span><span class="n">y</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">])[</span><span class="mi">0</span><span class="p">]</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [31]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">gradient_descent_step</span><span class="p">(</span><span class="n">Phi</span><span class="p">,</span> <span class="n">y_hat</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">alpha</span><span class="p">):</span> | |
| <span class="n">grad</span> <span class="o">=</span> <span class="o">-</span><span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">((</span><span class="n">y</span> <span class="o">-</span> <span class="n">y_hat</span><span class="p">)</span><span class="o">.</span><span class="n">T</span><span class="p">,</span> <span class="n">Phi</span><span class="p">)</span><span class="o">/</span><span class="n">y_hat</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> | |
| <span class="n">grad</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">grad</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span><span class="o">/</span><span class="n">y_hat</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> | |
| <span class="n">grad</span> <span class="o">=</span> <span class="n">grad</span><span class="o">.</span><span class="n">reshape</span><span class="p">((</span><span class="n">grad</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="mi">1</span><span class="p">))</span> | |
| <span class="k">return</span> <span class="n">w</span> <span class="o">-</span> <span class="n">alpha</span><span class="o">*</span><span class="n">grad</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [32]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">gradient_descent</span><span class="p">(</span><span class="n">Phi</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">alpha</span><span class="p">,</span> <span class="n">epochs</span><span class="p">,</span> <span class="n">early_stop_param</span><span class="p">,</span> <span class="n">v</span><span class="o">=</span><span class="mi">0</span><span class="p">):</span> | |
| <span class="n">epoch</span> <span class="o">=</span> <span class="n">count</span> <span class="o">=</span> <span class="mi">0</span> | |
| <span class="n">min_error</span> <span class="o">=</span> <span class="mi">999</span> | |
| <span class="k">while</span> <span class="n">epoch</span> <span class="o"><</span> <span class="n">epochs</span> <span class="ow">and</span> <span class="n">count</span> <span class="o"><</span> <span class="n">early_stop_param</span><span class="p">:</span> | |
| <span class="n">y_hat</span> <span class="o">=</span> <span class="n">lr</span><span class="p">(</span><span class="n">Phi</span><span class="p">,</span> <span class="n">w</span><span class="p">)</span> | |
| <span class="n">error</span> <span class="o">=</span> <span class="n">J</span><span class="p">(</span><span class="n">y_hat</span><span class="p">,</span> <span class="n">y</span><span class="p">)</span> | |
| <span class="n">w</span> <span class="o">=</span> <span class="n">gradient_descent_step</span><span class="p">(</span><span class="n">Phi</span><span class="p">,</span> <span class="n">y_hat</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">alpha</span><span class="p">)</span> | |
| <span class="k">if</span> <span class="n">error</span> <span class="o"><</span> <span class="n">min_error</span><span class="p">:</span> | |
| <span class="n">min_error</span> <span class="o">=</span> <span class="n">error</span> | |
| <span class="n">count</span> <span class="o">=</span> <span class="mi">0</span> | |
| <span class="k">else</span><span class="p">:</span> | |
| <span class="n">count</span> <span class="o">+=</span> <span class="mi">1</span> | |
| <span class="k">if</span> <span class="n">v</span><span class="p">:</span> | |
| <span class="nb">print</span><span class="p">(</span><span class="s1">'.'</span><span class="p">,</span> <span class="n">end</span><span class="o">=</span><span class="s1">''</span><span class="p">)</span> | |
| <span class="n">epoch</span> <span class="o">+=</span> <span class="mi">1</span> | |
| <span class="k">return</span> <span class="n">w</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [33]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">w</span> <span class="o">=</span> <span class="mf">0.1</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">random</span><span class="p">([</span><span class="mi">3</span><span class="p">])</span> | |
| <span class="n">w</span> <span class="o">=</span> <span class="n">w</span><span class="o">.</span><span class="n">reshape</span><span class="p">((</span><span class="n">w</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="mi">1</span><span class="p">))</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [34]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">w</span> <span class="o">=</span> <span class="n">gradient_descent</span><span class="p">(</span><span class="n">Phi</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">5000</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [35]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">w</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt output_prompt">Out[35]:</div> | |
| <div class="output_text output_subarea output_execute_result"> | |
| <pre>array([[ 0.38061173], | |
| [ 1.18011046], | |
| [-2.55554986]])</pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [36]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">thres_v</span> <span class="o">=</span> <span class="p">[</span><span class="mf">0.001</span><span class="o">*</span><span class="n">e</span> <span class="k">for</span> <span class="n">e</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">1001</span><span class="p">,</span> <span class="mi">5</span><span class="p">)]</span> | |
| <span class="n">roc</span><span class="p">,</span> <span class="n">f1</span> <span class="o">=</span> <span class="n">roc_curve</span><span class="p">(</span><span class="n">Phi</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">thres_v</span><span class="p">,</span> <span class="n">lr</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">roc</span><span class="p">[:,</span><span class="mi">0</span><span class="p">],</span> <span class="n">roc</span><span class="p">[:,</span><span class="mi">1</span><span class="p">],</span> <span class="s1">'C0-'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">],</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">],</span><span class="s1">'r--'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">xlim</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">])</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">ylim</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">])</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s2">"ROC curve"</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">([</span><span class="s2">"ROC"</span><span class="p">,</span> <span class="s2">"tpr=fpr"</span><span class="p">])</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">'True Positive Rate'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">'False Positive Rate'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">savefig</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">image_dir</span><span class="p">,</span> <span class="s1">'roc_lr.png'</span><span class="p">),</span> <span class="n">bbox_inches</span><span class="o">=</span><span class="s1">'tight'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_png output_subarea "> | |
| <img src="data:image/png;base64,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 | |
| " | |
| > | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [37]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">f1</span><span class="p">[:,</span><span class="mi">0</span><span class="p">],</span> <span class="n">f1</span><span class="p">[:,</span><span class="mi">1</span><span class="p">],</span> <span class="s1">'C0-'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s2">"F1 score x threshold value"</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">'F1 Score'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">'Threshold'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">savefig</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">image_dir</span><span class="p">,</span> <span class="s1">'f1_lr.png'</span><span class="p">),</span> <span class="n">bbox_inches</span><span class="o">=</span><span class="s1">'tight'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> | |
| <span class="nb">print</span><span class="p">(</span><span class="s2">"Threshold with highest f1-score: </span><span class="si">{:.4f}</span><span class="s2">, (</span><span class="si">{:.4f}</span><span class="s2">)"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">f1</span><span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">argmax</span><span class="p">(</span><span class="n">f1</span><span class="p">[:,</span><span class="mi">1</span><span class="p">]),</span> <span class="mi">0</span><span class="p">],</span> <span class="n">f1</span><span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">argmax</span><span class="p">(</span><span class="n">f1</span><span class="p">[:,</span><span class="mi">1</span><span class="p">]),</span> <span class="mi">1</span><span class="p">]))</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_png output_subarea "> | |
| <img src="data:image/png;base64,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 | |
| " | |
| > | |
| </div> | |
| </div> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_subarea output_stream output_stdout output_text"> | |
| <pre>Threshold with highest f1-score: 0.3250, (0.9254) | |
| </pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <p>Podemos perceber que em comparação com o LDA, o modelo de regressão logística possue uma quantidade bem maior de valores de threshold com valores semelhantes de f1-medida, com o valor ótimo sendo threshold de 0.345 (f1-medida de 0.9245). Isto provavelmente se da por conta da função sigmoidal que acaba por concentrar os dados nas extremidades (perto de 0 ou 1) por seu formato (crescimento rápido em torno de 0.5 e saturação em 0 e 1).</p> | |
| <p>Ambos os modelos obtiveram valores próximos para a f1-medida, dado que o modelo LDA tem solução fechada (exige menor capacidade computacional), ele parece ser uma boa opção de modelo para a resolução deste problema.</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h1 id="2---Classificação-multi-classe">2 - Classificação multi-classe<a class="anchor-link" href="#2---Classificação-multi-classe">¶</a></h1> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h2 id="Download-dataset">Download dataset<a class="anchor-link" href="#Download-dataset">¶</a></h2> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [38]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">data_url</span> <span class="o">=</span> <span class="s1">'http://www.dca.fee.unicamp.br/~lboccato/dataset_vehicle.csv'</span> | |
| <span class="n">data_path</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">data_dir</span><span class="p">,</span> <span class="s1">'dataset_vehicle.csv'</span><span class="p">)</span> | |
| <span class="n">urllib</span><span class="o">.</span><span class="n">request</span><span class="o">.</span><span class="n">urlretrieve</span><span class="p">(</span><span class="n">data_url</span><span class="p">,</span> <span class="n">data_path</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt output_prompt">Out[38]:</div> | |
| <div class="output_text output_subarea output_execute_result"> | |
| <pre>('/home/rafael/inbox/machine-learning/2-linear-classification-and-knn/data/dataset_vehicle.csv', | |
| <http.client.HTTPMessage at 0x7fa0f41f8cc0>)</pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [39]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span>%%bash | |
| head <span class="s2">"../data/dataset_vehicle.csv"</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_subarea output_stream output_stdout output_text"> | |
| <pre>"COMPACTNESS","CIRCULARITY","DISTANCE_CIRCULARITY","RADIUS_RATIO","PR.AXIS_ASPECT_RATIO","MAX.LENGTH_ASPECT_RATIO","SCATTER_RATIO","ELONGATEDNESS","PR.AXIS_RECTANGULARITY","MAX.LENGTH_RECTANGULARITY","SCALED_VARIANCE_MAJOR","SCALED_VARIANCE_MINOR","SCALED_RADIUS_OF_GYRATION","SKEWNESS_ABOUT_MAJOR","SKEWNESS_ABOUT_MINOR","KURTOSIS_ABOUT_MAJOR","KURTOSIS_ABOUT_MINOR","HOLLOWS_RATIO","Class" | |
| 95,48,83,178,72,10,162,42,20,159,176,379,184,70,6,16,187,197,van | |
| 91,41,84,141,57,9,149,45,19,143,170,330,158,72,9,14,189,199,van | |
| 104,50,106,209,66,10,207,32,23,158,223,635,220,73,14,9,188,196,saab | |
| 93,41,82,159,63,9,144,46,19,143,160,309,127,63,6,10,199,207,van | |
| 85,44,70,205,103,52,149,45,19,144,241,325,188,127,9,11,180,183,bus | |
| 107,57,106,172,50,6,255,26,28,169,280,957,264,85,5,9,181,183,bus | |
| 97,43,73,173,65,6,153,42,19,143,176,361,172,66,13,1,200,204,bus | |
| 90,43,66,157,65,9,137,48,18,146,162,281,164,67,3,3,193,202,van | |
| 86,34,62,140,61,7,122,54,17,127,141,223,112,64,2,14,200,208,van | |
| </pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h2 id="Importa-dataset">Importa dataset<a class="anchor-link" href="#Importa-dataset">¶</a></h2> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [40]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">X</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">loadtxt</span><span class="p">(</span><span class="n">data_path</span><span class="p">,</span> <span class="n">skiprows</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">usecols</span><span class="o">=</span><span class="nb">range</span><span class="p">(</span><span class="mi">18</span><span class="p">),</span> <span class="n">delimiter</span><span class="o">=</span><span class="s1">','</span><span class="p">)</span> | |
| <span class="n">X</span><span class="o">.</span><span class="n">shape</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt output_prompt">Out[40]:</div> | |
| <div class="output_text output_subarea output_execute_result"> | |
| <pre>(846, 18)</pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [41]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">y</span> <span class="o">=</span> <span class="p">[]</span> | |
| <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">data_path</span><span class="p">)</span> <span class="k">as</span> <span class="n">csvfile</span><span class="p">:</span> | |
| <span class="n">reader</span> <span class="o">=</span> <span class="n">csv</span><span class="o">.</span><span class="n">DictReader</span><span class="p">(</span><span class="n">csvfile</span><span class="p">)</span> | |
| <span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="n">reader</span><span class="p">:</span> | |
| <span class="n">y</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">row</span><span class="p">[</span><span class="s1">'Class'</span><span class="p">])</span> | |
| <span class="nb">len</span><span class="p">(</span><span class="n">y</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt output_prompt">Out[41]:</div> | |
| <div class="output_text output_subarea output_execute_result"> | |
| <pre>846</pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [42]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">classes</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">y</span><span class="p">))</span> | |
| <span class="n">classes</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt output_prompt">Out[42]:</div> | |
| <div class="output_text output_subarea output_execute_result"> | |
| <pre>['opel', 'van', 'saab', 'bus']</pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [43]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">Y</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">((</span><span class="nb">len</span><span class="p">(</span><span class="n">y</span><span class="p">),</span> <span class="nb">len</span><span class="p">(</span><span class="n">classes</span><span class="p">)))</span> | |
| <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">e</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">y</span><span class="p">):</span> | |
| <span class="k">if</span> <span class="n">e</span> <span class="o">==</span> <span class="n">classes</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span> | |
| <span class="n">Y</span><span class="p">[</span><span class="n">i</span><span class="p">,</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="mi">1</span> | |
| <span class="k">elif</span> <span class="n">e</span> <span class="o">==</span> <span class="n">classes</span><span class="p">[</span><span class="mi">1</span><span class="p">]:</span> | |
| <span class="n">Y</span><span class="p">[</span><span class="n">i</span><span class="p">,</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="mi">1</span> | |
| <span class="k">elif</span> <span class="n">e</span> <span class="o">==</span> <span class="n">classes</span><span class="p">[</span><span class="mi">2</span><span class="p">]:</span> | |
| <span class="n">Y</span><span class="p">[</span><span class="n">i</span><span class="p">,</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="mi">1</span> | |
| <span class="k">else</span><span class="p">:</span> | |
| <span class="n">Y</span><span class="p">[</span><span class="n">i</span><span class="p">,</span><span class="mi">3</span><span class="p">]</span> <span class="o">=</span> <span class="mi">1</span> | |
| <span class="n">Y</span><span class="o">.</span><span class="n">shape</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt output_prompt">Out[43]:</div> | |
| <div class="output_text output_subarea output_execute_result"> | |
| <pre>(846, 4)</pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [44]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">holdout_n</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="mf">0.3</span><span class="o">*</span><span class="nb">len</span><span class="p">(</span><span class="n">y</span><span class="p">))</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [45]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">mu</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="n">np</span><span class="o">.</span><span class="n">average</span><span class="p">(</span><span class="n">X</span><span class="p">[:,</span><span class="n">i</span><span class="p">])</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">X</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">])])</span> | |
| <span class="n">delta</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([(</span><span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">X</span><span class="p">[:,</span><span class="n">i</span><span class="p">])</span> <span class="o">-</span> <span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">X</span><span class="p">[:,</span><span class="n">i</span><span class="p">]))</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">X</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">])])</span> | |
| <span class="n">X</span> <span class="o">=</span> <span class="p">(</span><span class="n">X</span> <span class="o">-</span> <span class="n">np</span><span class="o">.</span><span class="n">ones</span><span class="p">([</span><span class="n">X</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="mi">1</span><span class="p">])</span><span class="o">*</span><span class="n">mu</span><span class="p">)</span><span class="o">*</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">ones</span><span class="p">([</span><span class="n">X</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="mi">1</span><span class="p">])</span><span class="o">*</span><span class="p">(</span><span class="mi">1</span><span class="o">/</span><span class="n">delta</span><span class="p">))</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [46]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">X_test</span> <span class="o">=</span> <span class="n">X</span><span class="p">[:</span><span class="n">holdout_n</span><span class="p">,</span> <span class="p">:]</span> | |
| <span class="n">X_train</span> <span class="o">=</span> <span class="n">X</span><span class="p">[</span><span class="n">holdout_n</span><span class="p">:,:]</span> | |
| <span class="n">Y_test</span> <span class="o">=</span> <span class="n">Y</span><span class="p">[:</span><span class="n">holdout_n</span><span class="p">,</span> <span class="p">:]</span> | |
| <span class="n">Y_train</span> <span class="o">=</span> <span class="n">Y</span><span class="p">[</span><span class="n">holdout_n</span><span class="p">:,:]</span> | |
| <span class="n">X_train</span><span class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="n">X_test</span><span class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="n">Y_train</span><span class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="n">Y_test</span><span class="o">.</span><span class="n">shape</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt output_prompt">Out[46]:</div> | |
| <div class="output_text output_subarea output_execute_result"> | |
| <pre>((593, 18), (253, 18), (593, 4), (253, 4))</pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [47]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">Phi_train</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">column_stack</span><span class="p">((</span><span class="n">np</span><span class="o">.</span><span class="n">ones</span><span class="p">(</span><span class="n">X_train</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span> <span class="n">X_train</span><span class="p">))</span> | |
| <span class="n">Phi_test</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">column_stack</span><span class="p">((</span><span class="n">np</span><span class="o">.</span><span class="n">ones</span><span class="p">(</span><span class="n">X_test</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span> <span class="n">X_test</span><span class="p">))</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h2 id="Regressão-Logística">Regressão Logística<a class="anchor-link" href="#Regressão-Logística">¶</a></h2> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [48]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">Q</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">classes</span><span class="p">)</span> | |
| <span class="n">W</span> <span class="o">=</span> <span class="mf">0.01</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">random</span><span class="p">(((</span><span class="n">Q</span><span class="o">*</span><span class="p">(</span><span class="n">Q</span><span class="o">-</span><span class="mi">1</span><span class="p">))</span><span class="o">//</span><span class="mi">2</span><span class="p">,</span> <span class="n">Phi_test</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">]))</span> | |
| <span class="n">W</span><span class="o">.</span><span class="n">shape</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt output_prompt">Out[48]:</div> | |
| <div class="output_text output_subarea output_execute_result"> | |
| <pre>(6, 19)</pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [49]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">k</span> <span class="o">=</span> <span class="mi">0</span> | |
| <span class="n">mask</span> <span class="o">=</span> <span class="p">[[]]</span><span class="o">*</span><span class="n">W</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> | |
| <span class="n">aux</span> <span class="o">=</span> <span class="p">[]</span> | |
| <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">Q</span><span class="o">-</span><span class="mi">1</span><span class="p">):</span> | |
| <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">,</span> <span class="n">Q</span><span class="p">):</span> | |
| <span class="n">mask</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">l</span> <span class="k">for</span> <span class="n">l</span><span class="p">,</span> <span class="p">(</span><span class="n">e</span><span class="p">,</span> <span class="n">f</span><span class="p">)</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="nb">zip</span><span class="p">(</span><span class="n">Y_train</span><span class="p">[:,</span><span class="n">i</span><span class="p">],</span><span class="n">Y_train</span><span class="p">[:,</span><span class="n">j</span><span class="p">]))</span> <span class="k">if</span> <span class="p">(</span><span class="n">e</span> <span class="ow">or</span> <span class="n">f</span><span class="p">)]</span> | |
| <span class="n">k</span> <span class="o">+=</span> <span class="mi">1</span> | |
| <span class="n">aux</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">))</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [50]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">m</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">mask</span><span class="p">):</span> | |
| <span class="n">w</span> <span class="o">=</span> <span class="n">W</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">reshape</span><span class="p">((</span><span class="n">W</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="mi">1</span><span class="p">))</span> | |
| <span class="n">y</span> <span class="o">=</span> <span class="n">Y_train</span><span class="p">[</span><span class="n">m</span><span class="p">,</span><span class="n">aux</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="mi">0</span><span class="p">]]</span><span class="o">.</span><span class="n">reshape</span><span class="p">((</span><span class="n">Y_train</span><span class="p">[</span><span class="n">m</span><span class="p">]</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="mi">1</span><span class="p">))</span> | |
| <span class="n">X</span> <span class="o">=</span> <span class="n">Phi_train</span><span class="p">[</span><span class="n">m</span><span class="p">,:]</span> | |
| <span class="n">grad</span> <span class="o">=</span> <span class="n">gradient_descent</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="mi">1000</span><span class="p">,</span> <span class="mi">5000</span><span class="p">,</span> <span class="mi">5</span><span class="p">)[:,</span><span class="mi">0</span><span class="p">]</span> | |
| <span class="n">W</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="n">grad</span><span class="p">[:]</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [51]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">one_vs_one</span><span class="p">(</span><span class="n">Phi</span><span class="p">,</span> <span class="n">W</span><span class="p">):</span> | |
| <span class="n">votes</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">((</span><span class="n">Phi</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="mi">4</span><span class="p">))</span> | |
| <span class="n">ans</span> <span class="o">=</span> <span class="p">[]</span> | |
| <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">a</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">aux</span><span class="p">):</span> | |
| <span class="n">w</span> <span class="o">=</span> <span class="n">W</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">reshape</span><span class="p">((</span><span class="n">W</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="mi">1</span><span class="p">))</span> | |
| <span class="n">X</span> <span class="o">=</span> <span class="n">Phi</span> | |
| <span class="n">y</span> <span class="o">=</span> <span class="n">lr</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">w</span><span class="p">)</span> | |
| <span class="k">for</span> <span class="n">j</span><span class="p">,</span> <span class="n">e</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">y</span><span class="p">):</span> | |
| <span class="n">votes</span><span class="p">[</span><span class="n">j</span><span class="p">,</span> <span class="n">a</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span> <span class="o">+=</span> <span class="n">e</span> | |
| <span class="n">votes</span><span class="p">[</span><span class="n">j</span><span class="p">,</span> <span class="n">a</span><span class="p">[</span><span class="mi">1</span><span class="p">]]</span> <span class="o">+=</span> <span class="mi">1</span><span class="o">-</span><span class="n">e</span> | |
| <span class="k">for</span> <span class="n">e</span> <span class="ow">in</span> <span class="n">votes</span><span class="p">:</span> | |
| <span class="n">ans</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">argmax</span><span class="p">(</span><span class="n">e</span><span class="p">))</span> | |
| <span class="k">return</span> <span class="n">ans</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [52]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">y_hat</span> <span class="o">=</span> <span class="n">one_vs_one</span><span class="p">(</span><span class="n">Phi_test</span><span class="p">,</span> <span class="n">W</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [53]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">Y_hat</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">((</span><span class="nb">len</span><span class="p">(</span><span class="n">y</span><span class="p">),</span> <span class="nb">len</span><span class="p">(</span><span class="n">classes</span><span class="p">)))</span> | |
| <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">e</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">y</span><span class="p">):</span> | |
| <span class="k">if</span> <span class="n">e</span> <span class="o">==</span> <span class="n">classes</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span> | |
| <span class="n">Y_hat</span><span class="p">[</span><span class="n">i</span><span class="p">,</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="mi">1</span> | |
| <span class="k">elif</span> <span class="n">e</span> <span class="o">==</span> <span class="n">classes</span><span class="p">[</span><span class="mi">1</span><span class="p">]:</span> | |
| <span class="n">Y_hat</span><span class="p">[</span><span class="n">i</span><span class="p">,</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="mi">1</span> | |
| <span class="k">elif</span> <span class="n">e</span> <span class="o">==</span> <span class="n">classes</span><span class="p">[</span><span class="mi">2</span><span class="p">]:</span> | |
| <span class="n">Y_hat</span><span class="p">[</span><span class="n">i</span><span class="p">,</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="mi">1</span> | |
| <span class="k">else</span><span class="p">:</span> | |
| <span class="n">Y_hat</span><span class="p">[</span><span class="n">i</span><span class="p">,</span><span class="mi">3</span><span class="p">]</span> <span class="o">=</span> <span class="mi">1</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_subarea output_stream output_stderr output_text"> | |
| <pre>/usr/lib/python3.7/site-packages/ipykernel_launcher.py:3: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison | |
| This is separate from the ipykernel package so we can avoid doing imports until | |
| /usr/lib/python3.7/site-packages/ipykernel_launcher.py:5: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison | |
| """ | |
| /usr/lib/python3.7/site-packages/ipykernel_launcher.py:7: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison | |
| import sys | |
| </pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [54]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">y_test</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">argmax</span><span class="p">(</span><span class="n">Y_test</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> | |
| <span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">((</span><span class="n">y_test</span> <span class="o">==</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">y_hat</span><span class="p">)))</span><span class="o">/</span><span class="n">y_test</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt output_prompt">Out[54]:</div> | |
| <div class="output_text output_subarea output_execute_result"> | |
| <pre>0.8023715415019763</pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [55]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">confusion</span><span class="p">(</span><span class="n">y_hat</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">n_classes</span><span class="p">):</span> | |
| <span class="n">ans</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">((</span><span class="n">n_classes</span><span class="p">,</span> <span class="n">n_classes</span><span class="p">))</span> | |
| <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="p">(</span><span class="n">e</span><span class="p">,</span> <span class="n">f</span><span class="p">)</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="nb">zip</span><span class="p">(</span><span class="n">y</span><span class="p">,</span> <span class="n">y_hat</span><span class="p">)):</span> | |
| <span class="n">ans</span><span class="p">[</span><span class="nb">int</span><span class="p">(</span><span class="n">e</span><span class="p">)][</span><span class="nb">int</span><span class="p">(</span><span class="n">f</span><span class="p">)]</span> <span class="o">+=</span> <span class="mi">1</span> | |
| <span class="k">return</span> <span class="n">ans</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [56]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="n">classes</span><span class="p">)</span> | |
| <span class="n">cm</span> <span class="o">=</span> <span class="n">confusion</span><span class="p">(</span><span class="n">y_hat</span><span class="p">,</span> <span class="n">y_test</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">classes</span><span class="p">))</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_subarea output_stream output_stdout output_text"> | |
| <pre>['opel', 'van', 'saab', 'bus'] | |
| </pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [57]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">N</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">y_test</span><span class="p">)</span><span class="o">/</span><span class="mi">4</span> | |
| <span class="n">cax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">cm</span><span class="p">,</span> <span class="n">interpolation</span><span class="o">=</span><span class="s1">'nearest'</span><span class="p">,</span> <span class="n">cmap</span><span class="o">=</span><span class="n">plt</span><span class="o">.</span><span class="n">cm</span><span class="o">.</span><span class="n">coolwarm</span><span class="p">,</span> <span class="n">vmin</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">vmax</span><span class="o">=</span><span class="n">N</span><span class="p">)</span> | |
| <span class="n">classNames</span> <span class="o">=</span> <span class="n">classes</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">'Confusion Matrix'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">'True label'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">'Predicted label'</span><span class="p">)</span> | |
| <span class="n">tick_marks</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">classNames</span><span class="p">))</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">xticks</span><span class="p">(</span><span class="n">tick_marks</span><span class="p">,</span> <span class="n">classNames</span><span class="p">,</span> <span class="n">rotation</span><span class="o">=</span><span class="mi">45</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">yticks</span><span class="p">(</span><span class="n">tick_marks</span><span class="p">,</span> <span class="n">classNames</span><span class="p">)</span> | |
| <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">e</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">cm</span><span class="p">):</span> | |
| <span class="k">for</span> <span class="n">j</span><span class="p">,</span> <span class="n">f</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">e</span><span class="p">):</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="n">j</span><span class="p">,</span><span class="n">i</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">cm</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">])))</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">colorbar</span><span class="p">(</span><span class="n">cax</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> | |
| <span class="nb">print</span><span class="p">(</span><span class="s2">"Average accuracy: </span><span class="si">{:.4f}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">diag</span><span class="p">(</span><span class="n">cm</span><span class="p">))</span><span class="o">/</span><span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">cm</span><span class="p">)))</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_png output_subarea "> | |
| <img src="data:image/png;base64,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 | |
| " | |
| > | |
| </div> | |
| </div> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_subarea output_stream output_stdout output_text"> | |
| <pre>Average accuracy: 0.8024 | |
| </pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <p>Como esperado, o modelo consegue classificar muito melhor os exemplos das classes 'van' e 'bus', pois provavelmente as características de entrada são mais discrepantes do que entre 'opel' e 'saab' (silhoueta de ônibus e van são mais únicas do que de do Opel e Saab).</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h2 id="K-nearest-Neighbours">K-nearest Neighbours<a class="anchor-link" href="#K-nearest-Neighbours">¶</a></h2> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [58]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">d</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">p</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">power</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">norm</span><span class="p">((</span><span class="n">x</span><span class="o">-</span><span class="n">y</span><span class="p">),</span> <span class="n">p</span><span class="p">),</span> <span class="mf">1.</span><span class="o">/</span><span class="n">p</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [59]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">neighboors</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">X</span><span class="p">,</span> <span class="n">k</span><span class="p">):</span> | |
| <span class="n">dist</span> <span class="o">=</span> <span class="p">[]</span> | |
| <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">e</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">X</span><span class="p">):</span> | |
| <span class="n">dist</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">d</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">e</span><span class="p">,</span> <span class="mi">2</span><span class="p">))</span> | |
| <span class="n">dist</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">dist</span><span class="p">)</span> | |
| <span class="n">ans</span> <span class="o">=</span> <span class="p">[[</span><span class="n">e</span><span class="p">,</span> <span class="n">f</span><span class="p">]</span> <span class="k">for</span> <span class="n">e</span><span class="p">,</span> <span class="n">f</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">argsort</span><span class="p">(</span><span class="n">dist</span><span class="p">),</span> <span class="n">np</span><span class="o">.</span><span class="n">sort</span><span class="p">(</span><span class="n">dist</span><span class="p">))]</span> | |
| <span class="k">return</span> <span class="n">ans</span><span class="p">[:</span><span class="n">k</span><span class="p">]</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [60]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">knn</span><span class="p">(</span><span class="n">X_train</span><span class="p">,</span> <span class="n">Y_train</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="n">k</span><span class="p">):</span> | |
| <span class="n">X_prime</span> <span class="o">=</span> <span class="n">neighboors</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">X_train</span><span class="p">,</span> <span class="n">k</span><span class="p">)</span> | |
| <span class="n">mask</span> <span class="o">=</span> <span class="p">[</span><span class="n">n</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">X_prime</span><span class="p">]</span> | |
| <span class="n">classes</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">Y_train</span><span class="p">[</span><span class="n">mask</span><span class="p">],</span> <span class="mi">0</span><span class="p">)</span> | |
| <span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">argmax</span><span class="p">(</span><span class="n">classes</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [61]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">knn_predict</span><span class="p">(</span><span class="n">X_train</span><span class="p">,</span> <span class="n">Y_train</span><span class="p">,</span> <span class="n">X_test</span><span class="p">,</span> <span class="n">k</span><span class="p">):</span> | |
| <span class="n">y_test</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">empty</span><span class="p">(</span><span class="n">X_test</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> | |
| <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">x</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">X_test</span><span class="p">):</span> | |
| <span class="n">y_test</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="n">knn</span><span class="p">(</span><span class="n">X_train</span><span class="p">,</span> <span class="n">Y_train</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="n">k</span><span class="p">)</span> | |
| <span class="k">return</span> <span class="n">y_test</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [62]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">y_hat</span> <span class="o">=</span> <span class="n">knn_predict</span><span class="p">(</span><span class="n">X_train</span><span class="p">,</span> <span class="n">Y_train</span><span class="p">,</span> <span class="n">X_test</span><span class="p">,</span> <span class="mi">5</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [63]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">y_test</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">argmax</span><span class="p">(</span><span class="n">Y_test</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> | |
| <span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">((</span><span class="n">y_test</span> <span class="o">==</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">y_hat</span><span class="p">)))</span><span class="o">/</span><span class="n">y_test</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt output_prompt">Out[63]:</div> | |
| <div class="output_text output_subarea output_execute_result"> | |
| <pre>0.7075098814229249</pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [64]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">avg_acc</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">cm</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [66]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">6</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">30</span><span class="p">,</span> <span class="mi">60</span><span class="p">,</span> <span class="mi">100</span><span class="p">]:</span> | |
| <span class="n">y_hat</span> <span class="o">=</span> <span class="n">knn_predict</span><span class="p">(</span><span class="n">X_train</span><span class="p">,</span> <span class="n">Y_train</span><span class="p">,</span> <span class="n">X_test</span><span class="p">,</span> <span class="n">k</span><span class="p">)</span> | |
| <span class="n">cm</span> <span class="o">=</span> <span class="n">confusion</span><span class="p">(</span><span class="n">y_hat</span><span class="p">,</span> <span class="n">y_test</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">classes</span><span class="p">))</span> | |
| <span class="n">N</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">y_test</span><span class="p">)</span><span class="o">/</span><span class="mi">4</span> | |
| <span class="n">cax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">cm</span><span class="p">,</span> <span class="n">interpolation</span><span class="o">=</span><span class="s1">'nearest'</span><span class="p">,</span> <span class="n">cmap</span><span class="o">=</span><span class="n">plt</span><span class="o">.</span><span class="n">cm</span><span class="o">.</span><span class="n">coolwarm</span><span class="p">,</span> <span class="n">vmin</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">vmax</span><span class="o">=</span><span class="n">N</span><span class="p">)</span> | |
| <span class="n">classNames</span> <span class="o">=</span> <span class="n">classes</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">'Confusion Matrix k = '</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">k</span><span class="p">))</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">'True label'</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">'Predicted label'</span><span class="p">)</span> | |
| <span class="n">tick_marks</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">classNames</span><span class="p">))</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">xticks</span><span class="p">(</span><span class="n">tick_marks</span><span class="p">,</span> <span class="n">classNames</span><span class="p">,</span> <span class="n">rotation</span><span class="o">=</span><span class="mi">45</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">yticks</span><span class="p">(</span><span class="n">tick_marks</span><span class="p">,</span> <span class="n">classNames</span><span class="p">)</span> | |
| <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">e</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">cm</span><span class="p">):</span> | |
| <span class="k">for</span> <span class="n">j</span><span class="p">,</span> <span class="n">f</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">e</span><span class="p">):</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="n">j</span><span class="p">,</span><span class="n">i</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">cm</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">])))</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">colorbar</span><span class="p">(</span><span class="n">cax</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> | |
| <span class="nb">print</span><span class="p">(</span><span class="s2">"Average accuracy: </span><span class="si">{:.4f}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">diag</span><span class="p">(</span><span class="n">cm</span><span class="p">))</span><span class="o">/</span><span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">cm</span><span class="p">)))</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_png output_subarea "> | |
| <img src="data:image/png;base64,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 | |
| " | |
| > | |
| </div> | |
| </div> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_subarea output_stream output_stdout output_text"> | |
| <pre>Average accuracy: 0.6838 | |
| </pre> | |
| </div> | |
| </div> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_png output_subarea "> | |
| <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUMAAAEkCAYAAAC1wlPlAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xd4VGXax/HvL4UWOkGaIsUCVoqCXQQLKAquWFGx94p1XddVV9e2rqtb9MV1FZV1xd51lXUVURBUUBDEiigdRBQEUu73j3OiY0wmJ8lkzkxyf67rXJk5c/LMPYTcedp5HpkZzjnX0OXEHYBzzmUCT4bOOYcnQ+ecAzwZOucc4MnQOecAT4bOOQd4Mqx3JDWV9IykbyU9UotyRkv6Typji4OkFySNqcH3nSDpjbqIyWUmT4YxkXSMpBmSvpe0OPyl3SMFRY8COgDtzOzwmhZiZhPMbP8UxPMzkgZJMklPlDu/Y3j+fxHLuVrSg1VdZ2bDzGx8DcOtU5IulPSZpDWSFkm6TVJe3HE1VJ4MYyBpLPBn4A8Eiasr8HdgRAqK3xyYb2bFKSirriwHdpXULuHcGGB+qt5AgUz///000M/MWgLbATsC58UbUsOV6f9Z6h1JrYBrgbPN7HEzW2tmRWb2jJldEl7TWNKfw9rCovBx4/C1QZK+knSRpGVhrfLE8LVrgKuAI8Ma58nla1CSuoU1sLzw+Qlh7eQ7SZ9LGp1w/o2E79tN0vSw+T1d0m4Jr/1P0u8lTQnL+Y+kwiT/DBuBJ4Gjwu/PBY4EJpT7t7pd0sKw5vSOpD3D80OBKxI+56yEOK6XNAVYB/QIz50Svn6npMcSyr9J0iRJivBzu0XSG+HPLyXM7FMzW132FkApsEWqynfV48kw/XYFmgBPJLnmN8AuQB+C2sIA4MqE1zsCrYAuwMnA3yS1MbPfEdQ2Hzaz5mZ2T7JAJBUAdwDDzKwFsBsws4Lr2gLPhde2A/4EPFeuZncMcCKwCdAIuDjZewP3A8eHjw8AZgOLyl0zneDfoC3wL+ARSU3M7MVyn3PHhO85DjgNaAEsKFfeRcD2YaLfk+DfbowluSdVUo6ku4EdgP3N7NsKrjlG0uokR9ck5R8jaQ2wguBn/X+VXevqlifD9GsHrKiiGTsauNbMlpnZcuAagl/yMkXh60Vm9jzwPbB1DeMpBbaT1NTMFpvZnAquOQj42MweMLNiM3sImAccnHDNvWY238x+ACYSJLFKmdmbQFtJWxMkxfsruOZBM1sZvuetQGOq/pz3mdmc8HuKypW3juDf8U/Ag8C5ZvZVkrLygYcIkvHB4fdX9Fn+ZWatkxxfVvYG4fe2BLYC7gKWVvH5XB3xZJh+K4HCKjrKO/PzWs2C8NyPZZRLpuuA5tUNxMzWEjRPzwAWS3pOUq8I8ZTF1CXh+ZIaxPMAcA6wDxXUlCVdLGlu2DRfTVAbTtb8BliY7EUzmwZ8RtAsnVhFWVsQ9ONeY2Ybq7i2VszsY2AOQd+xi4Enw/R7C9gAjExyzSKCgZAyXfllEzKqtUCzhOcdE180s5fMbD+gE0Ft7+4I8ZTF9HUNYyrzAHAW8Hz5WlfYjL0UOAJoY2atgW8JkhhAZU3bpMswSTqboIa5KCw/mbkETf8XwhpsZWWODvsuKzsqbSaXkwf0jHitSzFPhmkW9jldRdDPN1JSM0n5koZJujm87CHgSkntw4GIqwiadTUxE9hLUtew8//XZS9I6iBpRNh3uIGguV1aQRnPA1uF/Vt5ko4EtgGerWFMAJjZ58DeBH2k5bUAiglGnvMkXQW0THh9KdCtOiPGkrYCrgOOJWguXyqpqub8QwSDNa9IqjBRhdOQmic5KmwmSzpF0ibh420IfjaTon4el1qeDGMQ9n+NJRgUWU7QtDuHYIQVgl/YGcD7wAfAu+G5mrzXy8DDYVnv8PMElhPGsQhYRZCYzqygjJXAcIIBiJUENarhZraiJjGVK/sNM6uo1vsS8CLBdJsFwHp+3gQum1C+UtK7Vb1P2C3xIHCTmc0Km6VXAA+UjdQniXE8wQyA/0rqVtV7VcPuwAeS1hL8wXk+jMnFQL64q3POec3QOecAT4bOOQd4MnTOOcCToXPOAcG8pnqlVZtC69g56rSu7LFo0Q9xh1Bnum1a7/4bAvDFV5m8VkbNrV+3mKINq6u8nzuZ/jkFtsZKIl37CRteMrOhtXm/KOrd/8KOnbty18P1bxm6a66eFXcIdebeG6u6qSQ7nXh5rWceZaR3Jp1U6zLWWAl/zis/j79iw4vnp+U/SL1Lhs65LCBQfsTKZZoq2J4MnXNpJ4mcvFq1tFPOk6FzLv1yILdpbrRrv6vbUMp4MnTOpV91mslp4snQOZd23kx2zjnIyJqhT7p2zqWfICdPkY5IxUmtJT0qaV64IPCuktpKelnSx+HXNsnK8GTonEs7CXIb5UQ6IrodeNHMehHsJTMXuByYZGZbEqwTeXmyAjwZOudiIJQT7aiypGDR4r2AewDMbGO46+AIoGzP7PEkX13e+wydczEQKDdldbHuBIsk3ytpR4JFjM8HOpjZ4vCaJQR7lFfKa4bOubQTkJOrSAfBBmozEo7TyhWXB/QD7jSzvgT7/vysSRxuB5t0JWuvGTrn0k9EagKHVpjZTkle/wr4Ktz5EOBRgmS4VFInM1ssqROwLNmbeM3QOReDaLXCsGaYlJktARYm7GA4BPgQeBoYE54bAzyVrByvGTrn0k6CnPyIt+NFcy4wQVIjgn2xTySo7E2UdDLBpmJHJCvAk6FzLv2q10yukpnNBCpqSg+JWoYnQ+dcDKI1gdPJk6FzLu2U4pphKngydM7FQjmZNX7rybCWli35ihuvOJVvVi4DieGjTuSwY8/mvr9fz3OP3UvrNsGK5SefdzW77FXn2zik1EczrmflkinkN27DzvtNiDuclNmwYQNHHnMMGzdupKS4hKFDD+DC88/ngrEX8cHs2eTn5bHDDjtw/e+vJT8/P+5wI8uqn5fXDOuf3Nxczrj4D2y1TV/Wrf2OM47cg/67DgZg1HHncOQJF8QcYc112PxAOvccxbwZ18YdSko1atSICfffT0FBAUVFRRxx1NEM2mtvRhxyMLfd+kcAzr9wLA9PfIRjRx8Tc7TRZdPPSxK5+V4zrFfate9Eu/adAGhW0IKu3bdmxdJFMUeVGq3b92X92sVVX5hlJFFQUABAcXExxcXFSGKfQYN+vGbHHXdgydIlMUVYM9n288q0ZnJmRZPllny9gE/mzaL3DjsD8ORD/8cpvxrAzb89g+++/Sbm6FyikpISDjr4EHbeZVd23313+vTZ8cfXioqKePLJp9hrzz1jjLCeC5vJqVioIVWyJhlKuk/SqLjjqMwP677ndxcew1mX3UxB85YccsQpPPj8bMY9OpV27Tty5x9/HXeILkFubi7PPfM0b05+nffff5+P5s//8bWrrr6anXfemQE77xxjhPVd6latSZWsSYaZrLioiN9deAz7HnQke+07AoC2hR3Izc0lJyeHgw47kXmzZ8QcpatIy5Yt2WXgQF5/fTIAt//lL6xatYorr/A/XnWtQSZDSWMlzQ6PCyR1C1eknRCuSvuopGbhtf0lvSbpHUkvhTdYZywz45bfnUnXHltz+Jjzfjy/cvlPfTeTJz1N9y22jSM8V4GVK1exZs0aANavX88bb06hR48ePDxxIpMnv8Htt91GTob1Z9U3EuTm50Y60qXOB1Ak9Se4T3Agwco904DXgK2Bk81siqR/AmdJuh34CzDCzJZLOhK4HjipruOsqdnvvcXLzzxEjy235dRRuwDBNJr/vvAIn857H0l06LI5Y6+6I+ZIq+/DaVfx7Yr3KNqwmreeH0G33qfQqfvBcYdVa8uWL+OSSy+jpLQUKy3lwGHDGDJ4H7bs1ZsunTtz2OHBLawH7L8/5517TszRRpdVPy+lt9YXRTpGk/cAnjCztQCSHgf2BBaa2ZTwmgeB84AXge2AlyUB5AJVDo+F65udBtCh02apjj+p7fvtxn8/WPuL89k2p7Ai2wzM/CkaNdG7Vy+effqXC5h8PG9uDNGkTrb9vDJtNDnOqTXlF1o0gprjHDPbtVoFmY0DxgFsvW2/pAs4Oufil4m346UjNU8GRkpqJqkAODQ811VSWdI7BngD+AhoX3ZeUr4k72xzrh5qcAMoZvYucB/wNkF/4T+AbwgS39mS5gJtCJbs3giMAm6SNAuYCexW1zE659JNKCcn0pEuaWkmm9mfgD+VPZfUDSg2s2MruHYmwU5X5c+fUHcROufSSiInL30jxVH47XjOuXgos/oMY0mGZvYFwaixc64BysQBFK8ZOudi4VNrnHOugU66ds65X/CaoXOuwZMgJ8+ToXOuwRN4zdA554IVxzOJJ0PnXPrJ+wydc46yla4ziSdD51z6CZTC2/EkfQF8B5QQ3Oq7k6S2wMNAN+AL4Agzq3QzosyqpzrnGgQhpJxIRzXsY2Z9zGyn8PnlwCQz2xKYFD6vlCdD51z6CchRtKPmRgDjw8fjgZHJLvZk6JyLRTWW8CqUNCPhOK2C4gz4T7h3UtnrHcysbKX8JUCHZPF4n6FzLhbVGEBZkdD0rcweZva1pE0Itg2Zl/iimZmkpKvge83QOZd+wbI10Y4IzOzr8Osy4AlgALC0bHfN8OuyZGV4MnTOxUJ5uZGOKsuRCiS1KHsM7A/MBp4GxoSXjQF+uQtYAm8mO+fSTlIq70DpADwRlpcH/MvMXpQ0HZgo6WRgAXBEskI8GTrn4pGiO1DM7DNgxwrOrwSGRC3Hk6FzLhZ+B4pzzpUNoGSQepcMV64u5YEn1sYdRso90OHWuEOoM8ddflHcIdSJjj26xB1Cnch/Iz81BXnN0DnX4AmU61uFOucaPPkSXs45B/i+yc45FyzU4DVD51yDJ68ZOudcMICSWekns6JxzjUQtV6rMOU8GTrn0k5Q3VWs65wnQ+dc+pWtdJ1BPBk652Lgt+M551zAR5Odcw2eBD6a7JxzeJ+hc84B3mfonHOA9xk65xyS35vsnHMA5Ph6hs65hs5rhs45F/I+Q+ecw0eT66M5b97F/HcmgESbDr3ZY+Tt5OU3iTusWtvtgRcoyM8jVyI3Rzx3+E9b0I6bOZ/r3vyAmScOp23TxjFGWX0fzbielUumkN+4DTvvNyHucFJq4/pvmf7SZXy7Yj4AA4beQmGX/jFHVRFfz7DeWbtmMR9O/QeHnjuZvPymvPrwKXw++0m27HtU3KGlxMMj9vpFslv03TpeX7iULs2bxRRV7XTY/EA69xzFvBnXxh1Kyr3332vo2H1vdh9xFyUlGykp+iHukCqWgStdZ1Y0Waq0tJiSovWUlhRTXPQDzVp0iDukOnXNlPe5YtftM+0Pe2St2/clv1HLuMNIuY0b1rD8q2n02D74Q5yb24hGTVrFHFXFDGE5uZGOKCTlSnpP0rPh8+6Spkn6RNLDkhpVVYbXDGupoGUnttv9LCb+qS+5eU3pssXedNlin7jDSgkBxz7zBghGb9Od0dv24D+fL6JjQRO2KWwdd3iunLWrF9K4aTvefuFiVi//kDYdtqff4KvJa5ShNfjU9hmeD8wFyv7K3QTcZmb/lnQXcDJwZ7ICvGZYSxt+WM2X817k8AtncNQl71O8cR2fznok7rBS4rFDB/H8EUO4/6DduX/2Z0xbtJy/vjOPiwZsG3dorgJmJXyzdDZb9DmWA8a8QF5+M+a+/fe4w6qUSZGOqkjaFDgI+Ef4XMBg4NHwkvHAyKrK8WRYS4s+fZ0WbbrSpKCQnNx8Nt/mIJZ9OT3usFKiY/OmABQ2a8IB3TszddEKFn63jqETX2G3B15g8fc/cOAjk1i2bn3MkTqAps070rRFJ9p17gvAZlsfyDdLZ8ccVSUUrmcY5YBCSTMSjtPKlfZn4FKgNHzeDlhtZsXh86+ALlWFlNZmsqQbgYVm9rfw+dVAMbAP0AbIB640s6ckdQNeAN4AdgO+BkaYWUb1CDdv1YXlC9+heOM6cvObsuizyRR27hN3WLW2rqiYUjOaN8pnXVExkxcu5fyde/PeicN/vGa3B17g2VGDs240ub5q2nwTmrXoxJpVn9KybU+WLphCy3Zbxh1W5aJ3Oq8ws50qLkLDgWVm9o6kQbUJJ919hg8TZPG/hc+PAA4A7jCzNZIKgamSng5f3xI42sxOlTQROAx4sHyh4V+K0wAKWm1axx/h59pv1p9u2w7n6bv2RTl5tOu0HVvvdFxaY6gLy9et57QXpwJQXFrKyC27Mqhrx5ijSo0Pp13Ftyveo2jDat56fgTdep9Cp+4Hxx1WSvQbcg1Tnz2f0pIimrfuyoBhf4w7pMqlZjR5d+AQSQcCTQj6DG8HWkvKC2uHmxJUppJKazI0s/ckbSKpM9Ae+AZYAtwmaS+Cam4XoGw49nMzmxk+fgfoVkm544BxAIVd+ljdfYKK9R18GX0HX5but61Tm7dqzktH7pv0mjePG5amaFJrm4H1b0pNmTYdtmX/45+NO4yqSZFHipMxs18Dvw6K1CDgYjMbLekRYBTwb2AM8FRVZcUxmlwWZEeCmuJogsTY38yKJH1BkOEBNiR8XwnQNI1xOufqkNXtHSiXAf+WdB3wHnBPVd8QRzJ8GLgbKAT2JmgqLwsT4T7A5jHE5JxLq9TfgWJm/wP+Fz7+DBhQne+vNBlKSjor1czWVOeNEr5vjqQWwNdmtljSBOAZSR8AM4B5NSnXOZdd6rhmWG3JaoZzACOYe1um7LkBXWv6pma2fcLjFcCulVy6XcJ1GdwT7Jyrtgy7hanSZGhmm6UzEOdcw2EpGkBJpUj1VElHSboifLyppExcBsM5l02iT7pOiyrfSdJfCSZFl02eWwfcVZdBOefqP0ORjnSJMpq8m5n1k/QegJmtirIChHPOVU5ZNYBSpkhSDsGgCZLa8dM9gM45VzMZlgyjRPM34DGgvaRrCO4VvqlOo3LO1W9K3ao1qVJlzdDM7pf0DlB2b9bhZpahS2E457JB2eKumSTqHSi5QBFBUzmz6rbOuayUaX2GUUaTfwM8BHQmWP3hX5J+XdeBOefqs2gjyZk2mnw80NfM1gFIup7gxucb6jIw51z9lmk1wyjJcHG56/LCc845VzMie27Hk3QbQR/hKmCOpJfC5/sD9WNde+dcTIRl2PBDspph2YjxHOC5hPNT6y4c51xDYEBptowmm1mViyE651xNpXNwJIoq+wwl9QSuB7bhpxWoMbOt6jAu51y9lnm340WJ5j7gXoIuz2HARILVqp1zrsYy7Q6UKMmwmZm9BGBmn5rZlQRJ0TnnasTIzlVrNoQLNXwq6QyCLfda1G1Yzrl6TaJUWTKAkuBCoAA4j6DvsBVwUl0G5Zyr/zKtzzDKQg3Twoff8dMCr845VytZM5os6QnCNQwrYma/qpOInHP1nmXgaHKymuFf0xZFCjVpksdWvdrGHUbKnf31dXGHUGfuvqlJ1RdlocvvKIo7hDphVmkdqXrlZEvN0MwmpTMQ51zDks5pM1FEXc/QOedSSJRaZo0mZ1aj3TnXIKRynqGkJpLeljRL0pxwexIkdZc0TdInkh6uaiO7yMlQUuOo1zrnXFVSOOl6AzDYzHYE+gBDJe1CsFfTbWa2BfANcHKyQqKsdD1A0gfAx+HzHSX9JUqEzjlXmVQlQwt8Hz7NDw8DBgOPhufHAyOTlROlZngHMBxYGb7xLIJN5Z1zroaqtex/oaQZCcdpvyhNypU0E1gGvAx8Cqw2s+Lwkq+ALskiijKAkmNmC/TzkZ+SCN/nnHOVMos8mrzCzHZKXpaVAH0ktQaeAHpVN54oyXChpAGAScoFzgXmV/eNnHOujAGldTB+a2arJb0K7Aq0lpQX1g43JVhXoVJRojkTGAt0BZYCu4TnnHOuxlI4mtw+rBEiqSmwHzAXeBUYFV42BngqWTlR7k1eBhxVZUTOOReZqtNMrkonYHzYcs0BJprZs5I+BP4t6TqCHT2Trt4fZaXru6ngHmUz+0UnpnPORRE0k1OTDM3sfaBvBec/AwZELSdKn+ErCY+bAIcCC6O+gXPOVSRr7k0uY2Y/W+Jf0gPAG3UWkXOu/jMotcy6Aa4m9yZ3BzqkOhDnXEOS0j7DlIjSZ/gNP/UZ5hBsKn95XQblnKvfyu5NziRJk6GCmdY78tP8nFJL1WJmzrkGLdNqhkkb7WHie97MSsLDE6FzLiVKIx7pEqUHc6akXwxbO+dcbZgp0pEuyfZAKbuNpS8wXdKnwFqCzeTNzPqlKUbnXD1jKKtGk98G+gGHpCmWrPTo309h3rvP0bzVJlxw6ywAXpl4DdMn3UNBy/YA7H/07+nV78A4w6wxKy3h9ccPp0nBJgwcdlfc4aTEhg0bOOboI9i4cSMlxSUcMHQY519wIQ/cP57x993Ll18uYOrb79C2bfbtpfPivXuT16gAKRfl5DL4qCfjDqlS2TSAIgAz+zRNsWSl/oOOZ9ehZ/HI30782fndDzqfvQ65KKaoUuez2Q/Qok0PijZ+X/XFWaJRo0bc/8C/KCgooKioiKOPOpy99x5E//47sc/gIRw3OrvvPt3zVw/SuGmGJ3KD0gwbgUiWDNtLGlvZi2b2pzqIJ+t032Yvvln2Rdxh1Ikfvl/CsgWvsWW/0/n0/fviDidlJFFQUABAcXExxUXFSLDNttvGHFnDkW1Ta3KB5pBhEWeJt176O++9/iBdevTnoONvoWnzNnGHVG1z3ryB3rtcTHHR2rhDSbmSkhIOHXkwXy5YwOhjj2PHPvVkjFDijSdPQIju2x9N9+0yt5abaVNrkiXDxWZ2bdoiqYCk+4BnzezRqq7NJAP3P4PBo64ExMsPX8Vz91/CqLP+EXdY1bJ0was0atqW1u23ZcWit+MOJ+Vyc3N5+pnnWbNmDWefeTrz53/EVlttHXdYtbb3qH/TtHlH1q9byZQnx9CiTQ8Ku0ReqyCNREmGJcNkwzmZFWkWadG6Azk5ueTk5DBgyCl89en0uEOqtlVL3mPpgld5ZcIQ3n3lIlYsmsa7ky6NO6yUa9myJQN32ZXJr78Wdygp0bR5RwCaNGtHpx77sWrp+zFHVDEj86bWJEuGQ2pTsKQCSc+F2/fNlnSkpKskTQ+fjwvvcEHSqeH5WZIek9Qsoah9w30P5ksaXpuY0mXNN4t/fDzn7SfpsFn29UX1HjiW/Y79H/uOnkS/fW+lsPNA+g25Oe6wUmLVypWsWbMGgPXr1zNlymR69OgZc1S1V1y07seBruKidSz78g1att0y5qgqZxbtSJdKm8lmtqqWZQ8FFpnZQQCSWgEvlzW9w9VvhgPPAI+b2d3h+esItvQr24GvG8GaZD2BVyVtYWbrE98o3CDmNIDWhV1rGXb1PPTn0Xz+4Wus/W4FN5yxOfse8Ts+m/Mai7+YhSTatN+ckafdmdaYXHLLli/jsksuprS0hNJSY9iBB7HP4CHcP/5e7h43jhUrlnPI8GHstfcg/nDDTXGHG9mGdSuY+txZAJSWFrPZ1ofQsdveMUdVuWwaQKmtD4BbJd1E0O83WdJhki4FmgFtgTkEyXC7MAm2Jhi0eSmhnIlmVgp8LOkzgo1eZia+kZmNA8YBbNpzp7QO2B99wYRfnNt58EnpDKHOFXYeQGHnTOx3qplevXrz1DPP/eL88WNO5PgxJ1bwHdmhoFVXhhzzbNxhRJNlU2tqxczmS+oHHAhcJ2kScDawk5ktlHQ1wWKxAPcBI81slqQTgEGJRZUvuq5ids6lR1mfYSaps/thJHUG1pnZg8AtBHezAKyQ1JyfNmoBaAEslpQPjC5X1OGSciT1BHoAH9VVzM659CkxRTrSpS6bydsDt0gqBYoIdtQbCcwGlgCJQ6y/BaYBy8OvLRJe+5Lg1sCWwBnl+wudc9kp09bAqstm8kv8vO8PYAZwZQXX3gn8YpTBzE6ok+Ccc7GybFzp2jnnUq4hDaA451wyDaaZ7JxzyTSkeYbOOVchA0rSuaZ/BJm11KxzrsFI1e14kjaT9KqkDyXNkXR+eL6tpJclfRx+Tbp0lCdD51zamUGpKdIRQTFwkZltA+wCnC1pG4ItjSeZ2ZbAJKrY4tiToXMuFqmqGZrZYjN7N3z8HTAX6AKMAMaHl40nmOdcKe8zdM7FohqjyYWSZiQ8HxeuR/ALkroRbGI3DehgZmVLSC0BOiR7E0+Gzrm0CwZQIo8mrzCznaq6KLzN9zHgAjNbE64QGLyfmUlKmn69meycS7+ITeSotcdwXYPHgAlm9nh4eqmkTuHrnYBlycrwZOici0WpRTuqEi4SfQ8wt9xGdU8DY8LHY4CnkpXjzWTnXNoFS3ilrLjdgeOADySVrXV6BXAjMFHSycAC4IhkhXgydM7FIlXJ0MzeoPI9myJvX+LJ0DkXC1+owTnX4JlBSUncUfycJ0PnXCx81RrnnMOToXPOhfcmxx3Fz3kydM7FwjKsaujJ0DkXiwzLhZ4MnXPp56PJabBm9TpeeXJm1RdmmWYtCuIOoc6cetniqi/KQpc+d2LcIdSJ9zd8kZJyvM/QOefwZrJzzgFgGVY19GTonEs7n1rjnHOhkpLMyoaeDJ1zaZfiJbxSwpOhcy79qrGKdbp4MnTOxcAozbBs6MnQORcLK407gp/zZOicS7ugz9Brhs65hs58NNk55zB8nqFzzgWjyRmWDT0ZOudikWFdhp4MnXPxKPWaoXOuoTMzH012zjnIvNHknLgDcM41TGW1w6qOqkj6p6RlkmYnnGsr6WVJH4df21RVjidD51zamQV9hlGOCO4DhpY7dzkwycy2BCaFz5PyZOici4VZtKPqcux1YFW50yOA8eHj8cDIqsrxPsNaWr92CXPe+h0b169CEp17HkrXXkfHHVbKWGkJrz9+OE0KNmHgsLviDiclPppxPSuXTCG/cRt23m9C3OGk1PdWwh1FS1hgGwG4IL8jM0rWMrX0O4RorVwuzO9EO8X/q1/H8ww7mFnZ5jpLgA5VfUP8/yJZTjl5bNnvQlq27UVx0VrefvE42nYaSPNWPeIOLSU+m/0ALdr0oGjj93GHkjIdNj+Qzj1HMW/GtXGHknLjipbRP6eAK/K6UGTGBkpXHL/xAAAO5UlEQVTZPK8Rx6kQgKeLv+Gh4hWck98x1jjNjJKSyCs1FEqakfB8nJmNq8Z7maQqM683k2upcdNCWrbtBUBefgEFLbuxYd2ymKNKjR++X8KyBa/RtdeouENJqdbt+5LfqGXcYaTcWithtv3A/rmtAMiXaK5cmin3x2vWU4riCrAcK7VIB7DCzHZKOKIkwqWSOgGEX6v8pfSaYQr98P0ivvvmI1oVbhd3KCkx580b6L3LxRQXrY07FBfBEiuiFbncVrSEz20DW+Q04fS8TWiiHMYXLee/JWsoUA43NNos7lCh7vdAeRoYA9wYfn2qqm9Ie81QUrfEIfD6orhoHR9MvpSt+l9EXn7zuMOptaULXqVR07a0br9t3KG4iEqBT2w9B+a15i+Nu9EE8UhxMK4wJr8945v0ZFBuS54pXh1voIRLeEWvGSYl6SHgLWBrSV9JOpkgCe4n6WNg3/B5Ul4zTIHS0mI+mHwpHbsNZZPNBscdTkqsWvIeSxe8yitfvk5pyUaKir7n3UmX0m/IzXGH5irRTnkUkkevnKYA7J7b4sdkWGZQbkuu3vgVx1IYR4gJUncHiplVNmI5pDrlxJUM8yRNAPoBc4DjgQ+BncxshaSdgD+a2SBJewO3h99nwF5m9l0sUVfAzJg79VoKWnWna+9j4w4nZXoPHEvvgWMBWLHobT6d9U9PhBmurfJor3y+Kt3IpjmNmFWyjq5qxNelG+mS0wiAqSXfs6kaxRwpQTPZ700GYGvgZDObIumfwFlJrr0YODu8tjmwPi0RRvTt8lks+eJ5mrfegmnPHwNAzx3PorDLHjFH5irz4bSr+HbFexRtWM1bz4+gW+9T6NT94LjDSonT8zfhlqJFFGN0VCMuyO/IHUVL+No2ImAT5XN2fpWzTOqcAaXRR5PTIq5kuNDMpoSPHwTOS3LtFOBPYU3ycTP7qvwFkk4DTgNo0iy9UwZab9KHIcfMqPrCLFbYeQCFnQfEHUbKbDOw/k2pKdMzpwm3N+72s3O/adQlnmCSycD1DOOaWlP+X8GAYn6Kp8mPL5jdCJwCNAWmSOr1i8LMxpUNu+c3qfIWROdc7ILd8aIc6RJXMuwqadfw8THAG8AXQP/w3GFlF0rqaWYfmNlNwHTgF8nQOZd9UjWanCpxJcOPgLMlzQXaAHcC1wC3hzPNSxKuvUDSbEnvA0XAC2mP1jmXUmW746Vi1ZpUSXufoZl9QcW1u8nAVhVcf25dx+ScSzMfTXbOOQDz0WTnnDMDK/Vk6Jxz3kx2zjnAN4RyzjksvdNmovBk6JxLOwNKSkqqvC6dPBk659IvA2/H82TonEs7w5vJzjkH+ACKc86Fd6D4PEPnnPNmsnPOmRmlPprsnHNeM3TOOYLFXb3P0DnXwJnPM3TOuYCvWuOccz6A4pxz4Vah3kx2zjV4Gbi4a1wbQjnnGrRoO+NFHWSRNFTSR5I+kXR5TSLymqFzLhaWoqk1knKBvwH7AV8B0yU9bWYfVqccrxk659LPUrpv8gDgEzP7zMw2Av8GRlQ3JGXayhG1JWk5sCBNb1cIrEjTe6VTff1cUH8/Wzo/1+Zm1r42BUh6kSDmKJoA6xOejzOzcQlljQKGmtkp4fPjgIFmdk51Yqp3zeTa/pCqQ9IMM9spXe+XLvX1c0H9/WzZ9rnMbGjcMZTnzWTnXLb7Gtgs4fmm4blq8WTonMt204EtJXWX1Ag4Cni6uoXUu2Zymo2r+pKsVF8/F9Tfz1ZfP1eVzKxY0jnAS0Au8E8zm1PdcurdAIpzztWEN5Odcw5Phs45B3gydM45wJNhSkgqlLR93HGkmiTFHYOLzn9etePJsJYk5QCXAKdI2jHueFKsadwBuGgkycLRUEmd4o4nG3kyrCUL7ja/PXx6lKS+ccaTKuFUhWckjZW0S9zxpIqkLpLah4/PlHSjpFslFcQdW20kJMILgH9JahlzSFnHk2EtlDVLzGwRcANQAByd7QlR0jBgMPB/QBfgMEmD442q9sIkeDNwsKTjgTOAV4DtgNskdQ2vy8rmpqSTCCYcH2dmayS1jTumbOLzDGuorFkS1prygW+Bjwh+2dYBD5vZzDhjrAlJA4BngNPN7ElJvQlWAGkHvGJmL8UaYC1JOgw4mGBy7otmNiE8fw/QwsyOiDO+2pA0FviEYFGD7YDTgHsIJmSvMf9lT8prhjUUJsLhwN+BHYGHgN2BPwDNgDGS+sUYYk3NAt4ErpHUxMzmAo8BPwB7SmoWa3Q1oBCAmT0GPEKwYspeZbVB4FSgjaSoK6lkDEnDw8/xEXAWMJbg3txfEyxv1coTYdU8GdaQpNbAucBQYA1BzXCemS0Ffg80AtbGF2H1SNpBUl8z22BmhwJTCfoMC8zsY2A8cJuZrYs30uopq8GHf7z6hJ/nOeA6oDlwSDgTYCTQASiKM97qktQY2JOg9vcm8CvgMDN7GPieYNGCrPpMcfFmcjUlNI9bAX8E3gOOBk42s/mSDiG4cXy5mRXHGWtUki4ERgErgY3A8eHXPxPULAZlWxIsT9J5wBHA2wRJ4iagL8FMgA7A58ANZvZ+bEHWUFibPQfYGTjbzL6QdBZwCjDGzD6INcAs4TXDiBI61TcBMLNvgWXArcBJYSLcHbgWKMyiRHgscCBB7WI6sD8wAWgMXAC8TvRFODNS2E94GDAE6AzsS/Bze5+gj3cucH6mJ8JwGlfZ4yMl3QBgZiuAO4B3gVsldQDeAkZ5IozOa4YRJNQGDyRIdh8RrKb9JDCcYO+FR4ATgCvNrNrLB8VB0k7AMOBegkGSocAhBL9U3wAjzWxNfBHWTMLPKwcQwWecSdAUHgn8hqArYzFwPrDBzH6IK97qCkfF2xOs0nKzmf0lPL83cBvwIXC8pWqTkQbCl/CKIPzFGkjQfBxLUGsaAFxE0Dz5gqDP8Bwzez1xAmymCmu6+wDdzeyrcNR4QvhZHyZIik0J+kOzRrl/+yZh8/5ZSXlAf+BIM1spaTGwOrxmdVzxRiFpN6Crmf1b0rkEo8TPEzT5fyup1Mz+RlDr/Q9whyfC6vOaYQSSWhDMR1tvZnuHNY4uwO+Ah8xsUqwBVpOkZma2LkwQrwMPhi/1BVaFX082s4VxxVhbkk4H9iAYCJpmZjMkvUbQNH6b4I/YoeEc0Ywm6SDgrwQ/p57Ab8OvPQn6q9sQ1Ob3IdgLpFq7wrmA9xlWoqyPUFLZf7oLgd6STjKz0jBRFAO9Ywyz2iTtA1wmaXjYr3k10JKgGTkd6AaMzfJEeCpBLf4vBLWo8yTtDBxKMF9yOME8yoxPhADh6PdpBPGbmX0KvAb8D5hG0Fq5CtjFE2HNeTO5EmFzcSRBsviOoEP6boJmyVYEy4rvAUyMLciaWQAsBG6WtCXBtIsDgJfMbJyke8ysJNYIq6ncfbm9gM2Bg4DRBN0XnwCXAn80s2Mk5ZtZVk03MbOXJf0GuE/SkeHUmbnh/8WpZpauHSHrLU+GlZDUjuB2rdFmNie81akNQRPlFoLR1yPM7ENJudmSQMzsM+AzSa8DRxL0f+4NXB6OLGfFKHiZconwLILWzt0E02UONrO9JHUGJgG/kjTbzLJm/mciM3tKwTaYd4R9vDOBHuFXV0ueDCtXDLTgp2klDwB3Etx6N5xgKsOuwIfZkggThVOBbiYYbV0PTMy22hL8bIGC04ETgV+Z2cLwtsKukvIJBk7mAbdmayIsY2Zlg0GPAc8CI8I/cK6WfAAlifBez+bA42Y2O5xaM4xgOsYQ4EqCqRqrM330uCLZMOodhaSmBLdD3gnMAA4nqBleRHB7YUuCxQsyeh5hdYTTaBaY2Rdxx1JfeDJMQlIXgqbyLgR9hscRzPB/Pny9aTbNT6vPJJ0GnEnQHzoP+IwgIT4NfG1my2IMz2UBT4ZVCKfV7ApsAcw0szfrS42qPpHUBNge+NTMVkkaTXA72oH+B8tF4cnQ1SvhHNATCW4lPNrMZscckssSPoDi6psmQCnBSP/cuINx2cNrhq7e8W4MVxOeDJ1zDr8dzznnAE+GzjkHeDJ0zjnAk6FzzgGeDBscSSWSZkqaLemR2ux2J2mQpGfDx4dIujzJta3DhRSq+x5XS7o46vly19wnaVQ13qubJJ+X2EB5Mmx4fjCzPma2HcGmT2ckvqhAtf9fmNnTZnZjkktaE2xj6VxG8mTYsE0GtghrRB9Juh+YDWwmaX9Jb0l6N6xBNgeQNFTSPEnvEmxLSXj+BEl/DR93kPSEpFnhsRtwI9AzrJXeEl53iaTpkt6XdE1CWb+RNF/SG8DWVX0ISaeG5cyS9Fi52u6+kmaE5Q0Pr8+VdEvCe59e239Il/08GTZQ4TJQw4Cy3dO2BP5uZtsS7Pd8JbCvmfUjWAlmbHj/793AwQTLYnWspPg7gNfMbEegHzAHuJzgvuE+ZnaJpP3D9xwA9AH6S9pLUn/gqPDcgQTbX1blcTPbOXy/ucDJCa91C9/jIOCu8DOcDHxrZjuH5Z8qqXuE93H1mN+O1/A0lVS2GOhk4B6CjYQWmNnU8PwuwDbAlHD3g0YEq/b0Aj63YFN5JD1IsBx9eYMJlt0nXOvxW0ltyl2zf3i8Fz5vTpAcWwBPlO3TLCnKToPbSbqOoCnenGDXuDITw82RPpb0WfgZ9gd2SOhPbBW+9/wI7+XqKU+GDc8PZtYn8USY8BIXPRXwspkdXe66n31fLYlg0/b/K/ceF9SgrPsItjWdJekEYFDCa+VvsbLwvc81s8SkiaRuNXhvV094M9lVZCqwu6QtACQVhHttzAO6KdgkC4Kd2SoyiWBtwbL+uVYE+8i0SLjmJeCkhL7ILpI2Iditb6SkpuHyaQdHiLcFsDhc1Xp0udcOl5QTxtyDYM/rl4Azw+uRtJWkggjv4+oxrxm6XzCz5WEN6yFJjcPTV4ZbBZwGPCdpHUEzu0UFRZwPjJN0MlACnGlmb0maEk5deSHsN+wNvBXWTL8HjjWzdxXs2zwLWEawY19VfkuwS9zy8GtiTF8SbA3aEjjDzNZL+gdBX+K7Ct58OcGK5a4B84UanHMObyY75xzgydA55wBPhs45B3gydM45wJOhc84Bngydcw7wZOiccwD8P5aDfQwLOEwBAAAAAElFTkSuQmCC | |
| " | |
| > | |
| </div> | |
| </div> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_subarea output_stream output_stdout output_text"> | |
| <pre>Average accuracy: 0.6838 | |
| </pre> | |
| </div> | |
| </div> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_png output_subarea "> | |
| <img src="data:image/png;base64,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 | |
| " | |
| > | |
| </div> | |
| </div> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_subarea output_stream output_stdout output_text"> | |
| <pre>Average accuracy: 0.6957 | |
| </pre> | |
| </div> | |
| </div> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_png output_subarea "> | |
| <img src="data:image/png;base64,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 | |
| " | |
| > | |
| </div> | |
| </div> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_subarea output_stream output_stdout output_text"> | |
| <pre>Average accuracy: 0.6917 | |
| </pre> | |
| </div> | |
| </div> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_png output_subarea "> | |
| <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUMAAAEkCAYAAAC1wlPlAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3XecVNX5x/HPdxssLH2RJkgXFSM27GIPGmssUVFRicZuLLEkxhg1P6OJGk00Bkuw92gMFmKIRrGCCgpiRRAFpImIS9ny/P44d3VYd2dnd2fnzuw+79frvnbmzp1zn2HYZ0+59xyZGc4519rlxR2Ac85lA0+GzjmHJ0PnnAM8GTrnHODJ0DnnAE+GzjkHeDLMeZKKJf1L0leSHm5COWMk/TudscVB0tOSxjbifcdLmtIcMbnc4MkwQyQdLWmapFWSFka/tDunoejDgB5ANzM7vLGFmNm9ZrZPGuJZj6TdJJmkx2rs3yLa/3yK5Vwm6Z76jjOzfc3szkaG26wknSNpjqSVkhZIul5SQcLr/SU9J6lM0nuS9ooz3tbGk2EGSDoX+BPwf4TE1Q+4GTgoDcVvBHxgZhVpKKu5LAF2kNQtYd9Y4IN0nUBBtv9/fgLYysw6AsOBLYCzEl6/H3gL6Ab8CnhEUveMR9lamZlvzbgBnYBVwOFJjmlDSJYLou1PQJvotd2Az4DzgMXAQuCE6LXfAuuA8ugc44DLgHsSyu4PGFAQPT8emAN8DXwCjEnYPyXhfTsCU4Gvop87Jrz2PHAF8FJUzr+B0jo+W3X8twCnR/vygc+BS4HnE469AZgPrATeAHaJ9o+u8TlnJMTxuyiO1cDgaN9Po9f/CjyaUP7VwGRAtcRZ8/P/AZgCdGqm/xfdgP8AN0fPhwJrgQ4Jx7wInBL3/+HWsmX7X9KWYAegLfBYkmN+BWwPjCDUFkYClyS83pOQVPsQEt5NkrqY2W8Itc0HzazEzG5PFoik9sCNwL5m1oGQ8KbXclxX4Mno2G7AdcCTNWp2RwMnABsARcD5yc4N3AUcFz3+ITCTkPgTTSX8G3QF7gMeltTWzJ6p8Tm3SHjPscDJQAdgXo3yzgM2j/oDdyH82421KNPURlKepFuBHwD7mNlXtRxztKQVSbZ+Sco/WtJKYCnhu/5b9NJmwBwz+zrh8BnRfpcBngybXzdgqSVvxo4BLjezxWa2hFDjOzbh9fLo9XIze4pQO9q4kfFUAcMlFZvZQjObVcsxPwI+NLO7zazCzO4H3gMOSDjm72b2gZmtBh4iJLE6mdnLQFdJGxOS4l21HHOPmS2LznktocZc3+ecYGazoveU1yivjPDveB1wD3CmmX2WpKxCQlO1K3BA9P7aPst9ZtY5yfZpXSeI3tuRUBO8BfgieqmEUAtP9BUhybsM8GTY/JYBpYkd5bXozfq1mnnRvm/LqJFMywi/PA1iZt8APwFOARZKelLSsBTiqY6pT8LzRY2I527gDGB3aqkpSzpf0uxoZHwFoTZcWk+Z85O9aGavEboFREjayQwm9OP+1szW1XNsk5jZh8AsQt8xhD9wHWsc1pHQDeEywJNh83uF0Bd0cJJjFhAGQqr14/tNyFR9A7RLeN4z8UUzm2RmewO9CLW9W1OIpzqmzxsZU7W7gdOAp2rWuqJm7AXAEUAXM+tMqBmpOvQ6ykw67ZKk0wk1zAVR+cnMJjT9n45qsHWVOSa6KqCurc5mcg0FwKDo8SxgoKTEmuAW0X6XAZ4Mm1nU53QpoZ/vYEntJBVK2lfSNdFh9wOXSOouqTQ6vt7LSOowHdhVUj9JnYCLq1+Q1EPSQVHf4VpCbaSqljKeAoZG/VsFkn4CbApMbGRMAJjZJ8AoQh9pTR2ACsLIc4GkS1m/pvQF0L8hI8aShgJXAscQmssXSKqvOX8/8EvgP5IG1XHMvVHfZV1brc1kST+VtEH0eFPCdzM5KvMDwnf3G0ltJR1C6Ld8NNXP65rGk2EGRP1f5xIGRZYQmnZnAI9Hh1wJTAPeBt4B3oz2NeZczwIPRmW9wfoJLC+KYwGwnJCYTq2ljGXA/oQBiGWEGtX+Zra0MTHVKHuKmdVW650EPEO43GYesIb1m8DVF5Qvk/RmfeeJuiXuAa42sxlRs/SXwN2S2tQT453A5cB/JfWv71wNsBPwjqRvCH9wnopiqnYksA3wJfB74LCoD9llgJIMrDnnXKvhNUPnnMOToXPOAZ4MnXMO8GTonHNAuM6pRenUpdR69K55iVzuW76iMu4Qmk3njvlxh9Asli1v1uu2Y1O28nPWrl6u+o+s29Z57W2lpfZ/+iPWTjKz0U05XypaXDLs0Xsj/nLfy3GHkXYPPLEy7hCazYGju8QdQrO4+56aN/G0DP99INn9A6lZaZX8qSC1Ssv+FR/UdxdSWrS4ZOicywECFaZYuczQ5HSeDJ1zGSeJvIImtbTTzpOhcy7z8iC/OMW+4gxNVeHJ0DmXeQ1pJmeIJ0PnXMZ5M9k55yAra4Z+0bVzLvMEeQVKaUupOKmzpEeiVQVnS9pBUldJz0r6MPqZ9BouT4bOuYyTIL8oL6UtRTcAz5jZMMKkuLOBi4DJZjaEMG/kRckK8GTonIuBUF5qW70lhUmMdwVuBzCzdWa2grCEQ/Ua2neSfLZ57zN0zsVAoPy01cUGECZN/rukLQiTGp8N9DCzhdExiwhrltfJa4bOuYwTkJevlDbCgmrTEraTaxRXAGwF/NXMtiSsA7RekzhaHjbpTNZeM3TOZZ5IqQkcWWpm2yR5/TPgs2glRIBHCMnwC0m9zGyhpF7A4mQn8Zqhcy4GqdUKo5phUma2CJifsKLhnsC7wBPA2GjfWOCfycrxmqFzLuMkyCtM69RtZwL3SioirJN9AqGy95CkcYRFxo5IVoAnQ+dc5jWsmVwvM5tOWFmwpj1TLcOToXMuBqk1gTPJk6FzLuOU5pphOngydM7FQnnZNX7rybCJFi+azx8uGceK5YsBsd+h4zhkzBnfvv7IXX/i1usu4qHnPqNTl4zMXp42s16+hQ/euBckuvTYhJ0PvoGCwrZxh9VkS7+Yzw2XncCK5YsRYu9DxnHAkWcx4cYLmfbikxQUFtKzzyDOvPQ22nfoHHe4DfLM30dRUNQeKR/l5bPHkY/HHVLtvGbY8uTnF3DyeVczZJMtKfvma844age22n5PNhq0CYsXzefNV/7DBr36xh1mg32zciHvvnobh5z5IgWFxTz34E/5ZObjDNnyyLhDa7K8/AKOP/saBg3bitXffM15x23HiJF7MWLkXhx72u/ILyjgrj9fzKMTrua4M6+KO9wG2+XH99CmuGvcYSQlifzC7KoZZlc0Oahb914M2WRLANq170DfgcNYuvhzAP72xwsY9/P/Q2TXX8BUVVVVUFm+hqrKCirKV9OuQ9K7mXJG19JeDBq2FQDF7Tuw4YBhLFuygBHb701+QagfDB2+HcsWfxZnmC2e8vJS2jLFa4ZptOjzuXz83nSGbT6Sl5/7F6XdezNo4x/EHVajtO/Yi+E7ncZD121JfkExfQaPos/g3eMOK+0WL5jLJ+9PZ+hmI9fbP/lfE9hp78NjiqoJJKY8fjxCDNj8KAYMz9KavDeTG0/SBGCimT0Sdyy1WV22iivOP4pTfvFH8vMLeOD2a7jqrxPjDqvR1q5ewafvPcPh50yjqG0nnntwHB/PeJhBW+RggqjD6rJVXH3REZx47rW0K+n47f6H77iK/PwCRo0+OsboGmfUYQ9QXNKTNWXLeOnxsXToMpDSPiPrf2PGpTYjTSZ5MzkNKsrLueK8I9ljvyPZec+DWfjZHBZ9PpdTj9iW4/YdypLFn3P6UduzfOmiuENN2YKPX6BDl360bV9KXn4hG236IxZ/OjXusNKmoqKcay48gl1/eBQ77H7It/v/O/FOpk15knOuuAspu35ZU1Fc0hOAtu260Wvg3iz/4u2YI6pbuqbwSpeM1AwlnQucGD29DXgceIYw1c5WwCzgODMrk7Q1cB1QAiwFjk+YhifrmBnX/fZn9B0wjEOPPRuAAUOG89Bz87895rh9h/Ln+17OqdHkkk59WDL/DSrWlZFfWMyCOS9S2ntE3GGlhZlx0xUnseGAYRw05pxv97/5yiQeu/tarrxlMm3atosxwsapKC/DrIrCohIqystY/OkUho08o/43xkCC/PTejtdkzZ4Mo+R2ArAdYeae14D/ARsD48zsJUl3AKdJugH4M3CQmS2R9BPgd3yXSLPOrOkvM3nifQwYMpxTjwjNkRPOvJyRu4yOObKm6d53a/pvtj9P3LIXyiugW6/hbLzNsXGHlRazZ7zE80/fy0aDh3POmK0BOOa0K7nt2nMoX7eWy84I393Q4dtx6sU3xxlqg6wtW8qrT54GhMGvvhsfSM/+o2KOqg7KvmZyJmqGOwOPmdk3AJL+AewCzDezl6Jj7gHOItQWhwPPRk2UfKDeWmE0v9nJQMYvYxm+5U5Mmr4m6TF3Pf1BhqJJry33uJAt97gw7jDSbtMRO/PY6+Xf27/1TvvGEE36tO/Ujz2Pzp1+ar/o+js1J1o0Qs1xlpnt0KCCzMYD4wGGbrZ10gkcnXPxy8bb8TKRml8EDpbUTlJ74JBoXz9J1UnvaGAK8D7QvXq/pEJJm2UgRudchmXbAEqzJ0MzexOYALxO6C+8DfiSkPhOlzQb6EKYsnsdcBhwtaQZwHRgx+aO0TmXaWqdF12b2XWEEWIAJPUHKszsmFqOnU5Y6arm/uObL0LnXEZJ5BW0stFk55yrVZZdxxlLMjSzuYRRY+dcK5SNAyheM3TOxcIvrXHOuVZ60bVzzn2P1wydc62eBHkFngydc62ewGuGzjlH1k2R5snQOZd58j5D55wjG2e69mTonMs8gdJ4O56kucDXQCXhVt9tJHUFHgT6A3OBI8zsy7rKyK56qnOuVRBCyktpa4DdzWyEmW0TPb8ImGxmQ4DJ0fM6eTJ0zmWegDyltjXeQcCd0eM7gYOTHezJ0DkXiwZM4VUqaVrCdnItxRnwb0lvJLzeI2H9pEVA0oW/vc/QOReLBgygLE1o+tZlZzP7XNIGhGVD3kt80cxMUtJZ8L1m6JzLvDBtTWpbCszs8+jnYuAxYCTwhaRe4XTqBSxOVoYnQ+dcLFSQn9JWbzlSe0kdqh8D+wAzgSeAsdFhY4F/JivHm8nOuYyTlM47UHoAj0XlFQD3mdkzkqYCD0kaB8wDjkhWiCdD51w80nQHipnNAbaoZf8yYM9Uy/Fk6JyLhd+B4pxz1QMoWaTFJcNFi1ZzzTUz4w4j7S56fmz9B+Wo37x+U9whNIueAzeMO4Ts5jVD51yrJ1C+LxXqnGv15FN4Oecc4OsmO+dcmKjBa4bOuVZPXjN0zrkwgJJd6Se7onHOtRJNnqsw7TwZOucyTtDQWaybnSdD51zmVc90nUU8GTrnYuC34znnXOCjyc65Vk8CH012zjm8z9A55wDvM3TOOcD7DJ1zDsnvTXbOOQDyfD5D51xr5zVD55yLeJ+hc87ho8ktzZpvFjHrld+wbs1yJNF70CH0G3ZU3GGlxaqqSq5bsYC5FWsAOL9zH6asXsmra7+mANG7oIjzO/ehJMv6furz5eLX+GTWX8Aq2aDfj9hw8Ji4Q0qbZ/4+ioKi9kj5KC+fPY58PO6Q6uDzGbY4yitgyFbn0LHrMCrKv+H1Z46la6/tKOk0MO7QmuzmrxayTZsSLu3al3KrYq0ZW7UpYVzHHuRL3LpyEfevWsJJHXvGHWrKzCqZM/MGNtvujxQVd+ftF0+ha4+daNehf9yhpc0uP76HNsVd4w4juSyc6Tq7oslBbYpL6dh1GAAFhe1p37E/a8sWxxxV031TVck768rYt11nAAqVR0lePtu0LSE/+ou+SWE7llZWxBlmg61a8R7F7fvQtn1v8vIKKe2zB8u/eCnusFodQ1hefkpbKiTlS3pL0sTo+QBJr0n6SNKDkorqK8OTYRqtXrWAr798n06lw+MOpckWVq6jU14Bf1ixgFMWf8y1Kz5ndVXVesdMKvuSbduUxBRh46xdvYSitt2/fV7UtjvrVi+JMaI0k5jy+PH89/6D+GTmA3FHk5zyUttSczYwO+H51cD1ZjYY+BIYV18BngzTpKK8jHdevIChW59HQWFuJYjaVBp8WL6aA9p34ZYNBtFWeTy46rukce/XS8iX2LO4U4xRuppGHfYAex71BDsedAdz3r6HpZ+/HndIdTIppa0+kjYEfgTcFj0XsAfwSHTIncDB9ZXjyTANqqoqeOfFC+jZfzQb9N0j7nDSont+Ad3zC9mkqB0Au7btyIflYSBlUtmXvLbmay7qvCHKsk7w+rQp7s66Nd8l9XVrllBU3D3JO3JLcUnov23brhu9Bu7N8i/ejjmiOkgNqRmWSpqWsJ1co7Q/ARcA1U2XbsAKM6vuw/kM6FNfSBlNhpJ+L+n0hOeXSbpE0mRJb0p6R9JB0Wv9Jc2WdKukWZL+Lak4k/GmwsyY/erltO80gH6bHBN3OGnTNb+Q7vmFzK9YC8Bba79ho4I2TF3zNQ+tWsblXfvRNss6wFNR0mljVn/zGWvKFlJVVc7Sz/9L1x47xh1WWlSUl1G+btW3jxd/OoWOXYfEHFUSUmobLDWzbRK28d8Vof2BxWb2RlPDyfRo8oOELH5T9PwI4IfAjWa2UlIp8KqkJ6LXhwBHmdlJkh4CDgXuqVlo9JfiZIC27TI7svnVkhksmvsUJZ0H89pTRwMwaIvTKO2zc0bjaA6nd+rJVV9+RoUZvaLLaM5YModyq+LCZfMA2KSomJ937h1zpKlTXgEDNzubd1/7BWZV9Oi7L+06DIg7rLRYW7aUV588DQitlb4bH0jP/qNijiqJ9Pwx3Qk4UNJ+QFugI3AD0FlSQVQ73BD4vL6CMpoMzewtSRtI6g10J3RsLgKul7QroZrbB+gRveUTM5sePX4D6F9HueOB8QAdu21qzfcJvq/zBiPY8+hpmTxlxgwuLObm7oPW23dnjyyuaaSoS4/t6dJj+7jDSLv2nfqx59ET4w4jNVLKI8XJmNnFwMWhSO0GnG9mYyQ9DBwGPACMBf5ZX1lxXGdYHWRPQk1xDCExbm1m5ZLmEjI8wNqE91UCWddMds41jjXvHSgXAg9IuhJ4C7i9vjfEkQwfBG4FSoFRhKby4igR7g5sFENMzrmMSv8dKGb2PPB89HgOMLIh768zGUrqWM+JVzbkRAnvmyWpA/C5mS2UdC/wL0nvANOA9xpTrnMutzRzzbDBktUMZwFGuHGmWvVzA/o19qRmtnnC46XADnUcOjzhuD829nzOuSyUZZdl1ZkMzaxvJgNxzrUelqYBlHRKqZ4q6UhJv4webyhp6+YNyznX4qX3drwmq/dMkv4C7A4cG+0qA25pzqCccy2foZS2TEllNHlHM9tK0lsAZrY8lRkgnHOubsqpAZRq5ZLyCIMmSOrGd/cAOudc42RZMkwlmpuAR4Hukn4LTCFMj+Occ42j9M1aky711gzN7C5JbwB7RbsON7OZzRuWc64lq57cNZukegdKPlBOaCpnV93WOZeTsq3PMJXR5F8B9wO9CbM/3Cfp4uYOzDnXkqU2kpxto8nHAVuaWRmApN8Rbny+qjkDc861bNlWM0wlGS6scVxBtM855xpH5M7teJKuJ/QRLgdmSZoUPd8HmJqZ8JxzLZOwLBt+SFYzrB4xngU8mbD/1eYLxznXGhhQlSujyWZW72SIzjnXWJkcHElFvX2GkgYBvwM25bsZqDGzoc0Yl3OuRcu+2/FSiWYC8HdCl+e+wEOE2aqdc67Rsu0OlFSSYTszmwRgZh+b2SWEpOicc41i5OasNWujiRo+lnQKYcm9Ds0blnOuRZOoUo4MoCQ4B2gPnEXoO+wEnNicQTnnWr5s6zNMZaKG16KHX/PdBK/OOdckOTOaLOkxojkMa2NmP26WiJxzLZ5l4WhysprhXzIWRRq1KS5i8A8GxB1G2v1nt5Z7088vRhTGHUKzeHV6edwhNIuXi9PzfeVMzdDMJmcyEOdc65LJy2ZSkep8hs45l0aiyrJrNDm7Gu3OuVYhndcZSmor6XVJMyTNipYnQdIASa9J+kjSg/UtZJdyMpTUJtVjnXOuPmm86HotsIeZbQGMAEZL2p6wVtP1ZjYY+BIYl6yQVGa6HinpHeDD6PkWkv6cSoTOOVeXdCVDC1ZFTwujzYA9gEei/XcCBycrJ5Wa4Y3A/sCy6MQzCIvKO+dcIzVo2v9SSdMStpO/V5qUL2k6sBh4FvgYWGFmFdEhnwF9kkWUygBKnpnN0/ojP5UpvM855+pklvJo8lIz2yZ5WVYJjJDUGXgMGNbQeFJJhvMljQRMUj5wJvBBQ0/knHPVDKhqhvFbM1sh6TlgB6CzpIKodrghYV6FOqUSzanAuUA/4Atg+2ifc841WhpHk7tHNUIkFQN7A7OB54DDosPGAv9MVk4q9yYvBo6sNyLnnEuZGtJMrk8v4M6o5ZoHPGRmEyW9Czwg6UrCip5JZ+9PZabrW6nlHmUz+14npnPOpSI0k9OTDM3sbWDLWvbPAUamWk4qfYb/SXjcFjgEmJ/qCZxzrjY5c29yNTNbb4p/SXcDU5otIudcy2dQZdl1A1xj7k0eAPRIdyDOudYkrX2GaZFKn+GXfNdnmEdYVP6i5gzKOdeyVd+bnE2SJkOFK6234Lvrc6rMrM4JX51zLlXZVjNM2miPEt9TZlYZbZ4InXNpUZXilimp9GBOl/S9YWvnnGsKM6W0ZUqyNVCqb2PZEpgq6WPgG8Ji8mZmW2UoRudcC2Mop0aTXwe2Ag7MUCw5650pf2P21LvAjGEjj+MHO58Sd0hp8dSEn/HxO8/QrkN3xl02DYDnHvklH814ivyCIjp3H8B+x/+Ntu06xxxpwyz9Yj43XHYCK5YvRoi9DxnHAUeexYQbL2Tai09SUFhIzz6DOPPS22jfIXc+W659X9k2gJIsNQvAzD6ubctQfFlv+aLZzJ56F4ec/iyHnf0Cn743ia+Wzok7rLTYfMdjOfysx9fb13+TPRh32TRO/M3rdO0xhFef/mNM0TVeXn4Bx599DX9+8G2uvmMKTz98C/PnvMuIkXtxw/3T+dN9b9G73xAenXB13KE2SE59XwZVKW6Zkqxm2F3SuXW9aGbXNUM8OefLxR+wQd+tKSxqB0CvATvxyayJjBh1VsyRNV3foTvz1dJ56+0bsNle3z7uPXBb3n/j8Zpvy3pdS3vRtbQXAMXtO7DhgGEsW7KAEdvv/e0xQ4dvxyv/fTSuEBsll76vbLy0JlnNMB8oATrUsTmga89hLJr7Kmu+WU75ujI+ff9ZVq1IOlNQi/H2S3cxcPg+cYfRJIsXzOWT96czdLP1b2Gd/K8JbLnj6Jiiah7Z9n3lzAAKsNDMLs9YJLWQNAGYaGaP1HdsXLpssDEjRp3Fk3ccRkFhO0p7DUd52bXqV3N4+cmrycsrYNPtcndCo9Vlq7j6oiM48dxraVfS8dv9D99xFfn5BYwafXSM0aVX9n1fojLLrjNMlgyzK9IsNmzbYxi27TEAvPbMFZR06h1zRM3rnZfv5uN3nubIc55CWbb2baoqKsq55sIj2PWHR7HD7od8u/+/E+9k2pQnufzmf+fsZ6spG78vI7cuut6zKQVLai/pyWj5vpmSfiLpUklTo+fjoztckHRStH+GpEcltUsoaq9o3YMPJO3flJiay+pVSwD4esVnzJ01kcEjDqvnHblrzsx/89qk6zn09IcpbNOu/jdkITPjpitOYsMBwzhozDnf7n/zlUk8dve1/PLax2jTNjc/W03Z/H2ZpbZlSp01QzNb3sSyRwMLzOxHAJI6Ac9WN72j2W/2B/4F/MPMbo32X0lY0q96Bb7+hDnJBgHPSRpsZmsSTxQtEHMyQEnnDZsYdsP9+57jWVO2nLy8QnY66BraFHfKeAzN4Ylbx/Lp+y+wetUybrpgMDsfeAmvPv1HKivW8uD14e9S74Ej+eExubVY4uwZL/H80/ey0eDhnDNmawCOOe1Kbrv2HMrXreWyM0Jf4dDh23HqxTfHGWqD5Nr3lW0DKI2ZtSZV7wDXSrqa0O/3oqRDJV0AtAO6ArMIyXB4lAQ7EwZtJiWU85CZVQEfSppDWOhleuKJzGw8MB6g+4YjMn7L4EGnPJnpU2bEgSfd+b19W+x8fOYDSbNNR+zMY6+Xf2//1jvtG0M06ZNT31eGL5tJRbMlQzP7QNJWwH7AlZImA6cD25jZfEmXESaLBZgAHGxmMyQdD+yWWFTNopsrZudcZuRan2GTSOoNlJnZPcAfCHezACyVVMJ3C7VAuFRnoaRCYEyNog6XlCdpEDAQeL+5YnbOZU6lKaUtU5qzmbw58AdJVUA5YUW9g4GZwCJgasKxvwZeA5ZEPxOvY/yUcGtgR+CUmv2FzrnclG1zYDVnM3kS6/f9AUwDLqnl2L8Cf61l//HNEpxzLlaWizNdO+dc2rWmARTnnEum1TSTnXMumdZ0naFzztXKgMpMzumfguyaatY512qk63Y8SX0lPSfpXUmzJJ0d7e8q6VlJH0Y/uyQrx5Ohcy7jzKDKlNKWggrgPDPbFNgeOF3SpoQljSeb2RBgMvUscezJ0DkXi3TVDM1soZm9GT3+GpgN9AEOAqrvUbyTcJ1znbzP0DkXiwaMJpdKmpbwfHw0H8H3SOpPWMTuNaCHmS2MXloE9Eh2Ek+GzrmMCwMoKY8mLzWzbeo7KLrN91Hg52a2MnHuRjMzSUnTrzeTnXOZl2ITOdXaYzSvwaPAvWb2j2j3F5J6Ra/3AhYnK8OToXMuFulaHS+aJPp2YHaNheqeAMZGj8cC/0xWjjeTnXMZF6bwSltxOwHHAu9Iqp7r9JfA74GHJI0D5gFHJCvEk6FzLhbpSoZmNoW612xKefkST4bOuVj4RA3OuVbPDCor445ifZ4MnXOx8FlrnHMOT4bOORfdmxx3FOvzZOici4VlWdXQk6FzLhZZlgs9GTrnMs9HkzOgorySJQu+jDuMtHtvastdLvrdN5LOuZmzLn7z2LhDaBb/XJKe/4veZ+icc3gz2TnnALAsqxp6MnTOZZxfWuOcc5HKyuzKhp4MnXN0bYvmAAAQY0lEQVQZl+YpvNLCk6FzLvMaMIt1pngydM7FwKjKsmzoydA5FwurijuC9XkydM5lXOgz9Jqhc661Mx9Nds45DL/O0DnnwmhylmVDT4bOuVhkWZehJ0PnXDyqvGbonGvtzMxHk51zDrJvNDkv7gCcc61Tde2wvq0+ku6QtFjSzIR9XSU9K+nD6Ge9Mwh7MnTOZZxZ6DNMZUvBBGB0jX0XAZPNbAgwOXqelCdD51wszFLb6i/HXgCW19h9EHBn9PhO4OD6yvE+wzR45u+jKChqj5SP8vLZ48jH4w4pLd6f9juWLXqJwjZd2Hbve+MOJ62sqpIX/nE4bdtvwHb73hJ3OGnzdUUFV82dx5zVqxHwywH92ahtW3798ccsXLuOXm2KuGLQIDoWxP+r38zXGfYws4XR40VAj/reEP+/SAuxy4/voU1x17jDSKseG+1H70GH8d60y+MOJe3mzLybDl0GUr5uVdyhpNWfPp3P9p068n+DB1FeVcWaqiruWriQrTt25Lhevbhr4ULuXriI0/tuGGucZkZlZcozNZRKmpbwfLyZjW/AuUxSvZnXm8muTp27b0lhUce4w0i71asWsXje/+g37LC4Q0mrVRUVTP/6aw4oLQWgMC+PDgUFvLhiBft16wbAft268eKK7Fg90qospQ1YambbJGypJMIvJPUCiH4uru8NXjNMB4kpjx+PEAM2P4oBw4+MOyKXxKyXr2KT7c+novybuENJqwXr1tG5sIDffTKXD1eXMaxde37ery/LyysoLSoCoFthIcvLK2KOFGj+NVCeAMYCv49+/rO+N2Q8GUrqD0w0s+GZPndzGXXYAxSX9GRN2TJeenwsHboMpLTPyLjDcrX4Yt5zFBV3pXP3zVi64PW4w0mrSjM++KaMc/v1Y7OSEq6f9yl3L1y03jGSUEzxJTLS12co6X5gN0Jz+jPgN4Qk+JCkccA84Ij6yvGaYRoUl/QEoG27bvQauDfLv3jbk2GWWr7oLb6Y9xz/+fQFqirXUV6+ijcnX8BWe14Td2hNtkFREd2LitispASA3bt24e6Fi+haWMDSdesoLSpi6bp1dCnMhl/79N2BYmZH1fHSng0pJ64+wwJJ90qaLekRSe0kzZVUCiBpG0nPR49HSZoebW9J6hBTzLWqKC/7thO+oryMxZ9OoWPXITFH5eqyyXbnsvcxz7PXmMlstde1lPberkUkQghN4B5FRcxbvQaAaStXMqC4LTt37sxTy5YB8NSyZezSuXOcYQbpvc4wLeL6E7ExMM7MXpJ0B3BakmPPB06Pji0B1mQkwhStLVvKq0+G8KuqKui78YH07D8q5qjS493XLuWrpW9RvnYFrzx1EP03+Sm9BhwQd1guiXM26sdv58yh3IzebdrwqwH9MeCSjz5m4pKl9GxTxJWDBsUdZpjPMPXR5IyIKxnON7OXosf3AGclOfYl4DpJ9wL/MLPPah4g6WTgZIDiDr3THWtS7Tv1Y8+jJ2b0nJmy6XYt75KaRKW9R1Lau2V1Zwxt1447Ntv0e/v/PGzjGKJJIgvnM4yrmVzzX8GACr6Lp+23L5j9HvgpUAy8JGnY9wozG1897N7SrvVzrmUKq+OlsmVKXMmwn6QdosdHA1OAucDW0b5Dqw+UNMjM3jGzq4GpwPeSoXMu9zTgOsOMiCsZvg+cLmk20AX4K/Bb4IboSvPKhGN/LmmmpLeBcuDpjEfrnEur6tXx0jFrTbpkvM/QzOZSe+3uRWBoLcef2dwxOecyzHyma+ecA8xHk51zzgysypOhc855M9k55wBfEMo557DMXjaTCk+GzrmMM6CysrLe4zLJk6FzLvOy8HY8T4bOuYwzvJnsnHOAD6A451x0B4pfZ+icc95Mds45M6PKR5Odc85rhs45R5jc1fsMnXOtnPl1hs45F/isNc455wMozjkXLRXqzWTnXKuXhZO7xrUglHOuVUttZbxUB1kkjZb0vqSPJF3UmIi8Zuici4Wl6dIaSfnATcDewGfAVElPmNm7DSnHa4bOucyztK6bPBL4yMzmmNk64AHgoIaGpGybOaKpJC0B5mXodKXA0gydK5Na6ueClvvZMvm5NjKz7k0pQNIzhJhT0RZYk/B8vJmNTyjrMGC0mf00en4ssJ2ZndGQmFpcM7mpX1JDSJpmZttk6nyZ0lI/F7Tcz5Zrn8vMRscdQ03eTHbO5brPgb4JzzeM9jWIJ0PnXK6bCgyRNEBSEXAk8ERDC2lxzeQMG1//ITmppX4uaLmfraV+rnqZWYWkM4BJQD5wh5nNamg5LW4AxTnnGsObyc45hydD55wDPBk65xzgyTAtJJVK2jzuONJNkuKOwaXOv6+m8WTYRJLygF8AP5W0RdzxpFlx3AG41EiSRaOhknrFHU8u8mTYRBbuNr8henqkpC3jjCddoksV/iXpXEnbxx1PukjqI6l79PhUSb+XdK2k9nHH1hQJifDnwH2SOsYcUs7xZNgE1c0SM1sAXAW0B47K9YQoaV9gD+BvQB/gUEl7xBtV00VJ8BrgAEnHAacA/wGGA9dL6hcdl5PNTUknEi44PtbMVkrqGndMucSvM2yk6mZJVGsqBL4C3if8spUBD5rZ9DhjbAxJI4F/AT8zs8clbUKYAaQb8B8zmxRrgE0k6VDgAMLFuc+Y2b3R/tuBDmZ2RJzxNYWkc4GPCJMaDAdOBm4nXJC90vyXPSmvGTZSlAj3B24GtgDuB3YC/g9oB4yVtFWMITbWDOBl4LeS2prZbOBRYDWwi6R2sUbXCIoAmNmjwMOEGVN2ra4NAicBXSSlOpNK1pC0f/Q53gdOA84l3Jt7MWF6q06eCOvnybCRJHUGzgRGAysJNcP3zOwL4AqgCPgmvggbRtIPJG1pZmvN7BDgVUKfYXsz+xC4E7jezMrijbRhqmvw0R+vEdHneRK4EigBDoyuBDgY6AGUxxlvQ0lqA+xCqP29DPwYONTMHgRWESYtyKnPFBdvJjdQQvO4E/BH4C3gKGCcmX0g6UDCjeNLzKwizlhTJekc4DBgGbAOOC76+SdCzWK3XEuCNUk6CzgCeJ2QJK4GtiRcCdAD+AS4yszeji3IRopqs2cA2wKnm9lcSacBPwXGmtk7sQaYI7xmmKKETvUNAMzsK2AxcC1wYpQIdwIuB0pzKBEeA+xHqF1MBfYB7gXaAD8HXiD1STizUtRPeCiwJ9Ab2Ivwvb1N6OOdDZyd7Ykwuoyr+vFPJF0FYGZLgRuBN4FrJfUAXgEO80SYOq8ZpiChNrgfIdm9T5hN+3Fgf8LaCw8DxwOXmFmDpw+Kg6RtgH2BvxMGSUYDBxJ+qb4EDjazlfFF2DgJ31ceIMJnnE5oCh8M/IrQlbEQOBtYa2ar44q3oaJR8e6EWVquMbM/R/tHAdcD7wLHWboWGWklfAqvFES/WNsRmo/nEmpNI4HzCM2TuYQ+wzPM7IXEC2CzVVTT3R0YYGafRaPG90af9UFCUiwm9IfmjBr/9m2j5v1ESQXA1sBPzGyZpIXAiuiYFXHFmwpJOwL9zOwBSWcSRomfIjT5fy2pysxuItR6/w3c6Imw4bxmmAJJHQjXo60xs1FRjaMP8BvgfjObHGuADSSpnZmVRQniBeCe6KUtgeXRz3FmNj+uGJtK0s+AnQkDQa+Z2TRJ/yM0jV8n/BE7JLpGNKtJ+hHwF8L3NAj4dfRzEKG/uguhNr87YS2QBq0K5wLvM6xDdR+hpOr/dOcAm0g60cyqokRRAWwSY5gNJml34EJJ+0f9mpcBHQnNyKlAf+DcHE+EJxFq8X8m1KLOkrQtcAjhesn9CddRZn0iBIhGv08mxG9m9jHwP+B54DVCa+VSYHtPhI3nzeQ6RM3FgwnJ4mtCh/SthGbJUMK04jsDD8UWZOPMA+YD10gaQrjs4ofAJDMbL+l2M6uMNcIGqnFf7jBgI+BHwBhC98VHwAXAH83saEmFZpZTl5uY2bOSfgVMkPST6NKZ2dH/xVfNLFMrQrZYngzrIKkb4XatMWY2K7rVqQuhifIHwujrEWb2rqT8XEkgZjYHmCPpBeAnhP7PUcBF0chyToyCV6uRCE8jtHZuJVwuc4CZ7SqpNzAZ+LGkmWaWM9d/JjKzfyosg3lj1Mc7HRgY/XRN5MmwbhVAB767rORu4K+EW+/2J1zKsAPwbq4kwkTRpUDXEEZb1wAP5VptCdaboOBnwAnAj81sfnRbYT9JhYSBk/eAa3M1EVYzs+rBoEeBicBB0R8410Q+gJJEdK9nCfAPM5sZXVqzL+FyjD2BSwiXaqzI9tHj2uTCqHcqJBUTbof8KzANOJxQMzyPcHthR8LkBVl9HWFDRJfRzDOzuXHH0lJ4MkxCUh9CU3l7Qp/hsYQr/J+KXi/OpevTWjJJJwOnEvpD3wPmEBLiE8DnZrY4xvBcDvBkWI/ospodgMHAdDN7uaXUqFoSSW2BzYGPzWy5pDGE29H28z9YLhWeDF2LEl0DegLhVsKjzGxmzCG5HOEDKK6laQtUEUb6Z8cdjMsdXjN0LY53Y7jG8GTonHP47XjOOQd4MnTOOcCToXPOAZ4MnXMO8GTY6kiqlDRd0kxJDzdltTtJu0maGD0+UNJFSY7tHE2k0NBzXCbp/FT31zhmgqTDGnCu/pL8usRWypNh67PazEaY2XDCok+nJL6ooMH/L8zsCTP7fZJDOhOWsXQuK3kybN1eBAZHNaL3Jd0FzAT6StpH0iuS3oxqkCUAkkZLek/Sm4RlKYn2Hy/pL9HjHpIekzQj2nYEfg8Mimqlf4iO+4WkqZLelvTbhLJ+JekDSVOAjev7EJJOisqZIenRGrXdvSRNi8rbPzo+X9IfEs79s6b+Q7rc58mwlYqmgdoXqF49bQhws5ltRljv+RJgLzPbijATzLnR/b+3AgcQpsXqWUfxNwL/M7MtgK2AWcBFhPuGR5jZLyTtE51zJDAC2FrSrpK2Bo6M9u1HWP6yPv8ws22j880GxiW81j86x4+AW6LPMA74ysy2jco/SdKAFM7jWjC/Ha/1KZZUPRnoi8DthIWE5pnZq9H+7YFNgZei1Q+KCLP2DAM+sbCoPJLuIUxHX9MehGn3ieZ6/EpSlxrH7BNtb0XPSwjJsQPwWPU6zZJSWWlwuKQrCU3xEsKqcdUeihZH+lDSnOgz7AP8IKE/sVN07g9SOJdroTwZtj6rzWxE4o4o4SVOeirgWTM7qsZx672viURYtP1vNc7x80aUNYGwrOkMSccDuyW8VvMWK4vOfaaZJSZNJPVvxLldC+HNZFebV4GdJA0GkNQ+WmvjPaC/wiJZEFZmq81kwtyC1f1znQjryHRIOGYScGJCX2QfSRsQVus7WFJxNH3aASnE2wFYGM1qPabGa4dLyotiHkhY83oScGp0PJKGSmqfwnlcC+Y1Q/c9ZrYkqmHdL6lNtPuSaKmAk4EnJZURmtkdainibGC8pHFAJXCqmb0i6aXo0pWno37DTYBXoprpKuAYM3tTYd3mGcBiwop99fk1YZW4JdHPxJg+JSwN2hE4xczWSLqN0Jf4psLJlxBmLHetmE/U4JxzeDPZOecAT4bOOQd4MnTOOcCToXPOAZ4MnXMO8GTonHOAJ0PnnAPg/wEgQuhlTdssqwAAAABJRU5ErkJggg== | |
| " | |
| > | |
| </div> | |
| </div> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_subarea output_stream output_stdout output_text"> | |
| <pre>Average accuracy: 0.6640 | |
| </pre> | |
| </div> | |
| </div> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_png output_subarea "> | |
| <img src="data:image/png;base64,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 | |
| " | |
| > | |
| </div> | |
| </div> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_subarea output_stream output_stdout output_text"> | |
| <pre>Average accuracy: 0.6245 | |
| </pre> | |
| </div> | |
| </div> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_png output_subarea "> | |
| <img src="data:image/png;base64,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 | |
| " | |
| > | |
| </div> | |
| </div> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_subarea output_stream output_stdout output_text"> | |
| <pre>Average accuracy: 0.5652 | |
| </pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <p>Houve pouca variação na acurácia com a variação do número k, porém o melhor modelo entre os testados foi com k = 6 (acurácia média = 0.6957). Modelos com k muito pequeno podem generalizar mal por mapear apenas o ponto mais perto ou poucos pontos mais pertos, porém, um k muito grande gera um modelo com uma capacidade muito baixa de estimar as classes, por considerar muitos vizinhos.</p> | |
| <p>O mesmo efeito sobre as classes 'opel' e 'saab' pode ser observado.</p> | |
| <p>Em comparação com o modelo de regressão logística (acurácia média = 0.8024), o modelo knn se comportou com um desempenho menor para todos os k's testados. Neste modelo não há um treino propriamente dito, e mesmo levando em conta o tempo que demora para estimar, usa muito menos processamento do que para treinar os parâmetros da regressão logística.</p> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </body> | |
| </html> |